WO2022075754A1 - Method and apparatus for processing image for machine vision - Google Patents

Method and apparatus for processing image for machine vision Download PDF

Info

Publication number
WO2022075754A1
WO2022075754A1 PCT/KR2021/013723 KR2021013723W WO2022075754A1 WO 2022075754 A1 WO2022075754 A1 WO 2022075754A1 KR 2021013723 W KR2021013723 W KR 2021013723W WO 2022075754 A1 WO2022075754 A1 WO 2022075754A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
decoding
feature
feature information
image
Prior art date
Application number
PCT/KR2021/013723
Other languages
French (fr)
Korean (ko)
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 한국항공대학교산학협력단
Publication of WO2022075754A1 publication Critical patent/WO2022075754A1/en

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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present invention relates to image processing technology, and to image processing technology for encoding and/or decoding input image feature information in order to efficiently process or transmit an input image and/or feature information thereof for performing a machine vision task will be.
  • the extracted characteristic information is transmitted by itself or the characteristic information is encoded and transmitted.
  • the size of the extracted feature information may be defined according to the designed deep learning or machine learning network. That is, the characteristic information may be defined by one or more parameters among various sizes, a plurality of channels, and various data types.
  • the characteristic information defined in this way may have a smaller size compared to the input image, but the characteristic information having a smaller size will lose information compared to the original image. Therefore, in order to reduce the loss of information, feature information of as large a size as possible is required. In this case, since the amount of data increases, there is a difficulty in transmission or real-time data processing. Accordingly, a method of reducing the size of data to be transmitted or processed as well as reducing information loss by performing entropy encoding and decoding on feature information of a larger size has been proposed.
  • Patent Document 1 “Image processing method and apparatus using feature map compression”
  • Patent Document 1 a feature map generated by performing a convolution operation on an input image is displayed in at least one line unit.
  • a technique for reducing the amount of computation by reducing the number of filter parameters by processing or compressing them is disclosed.
  • Korean Patent Application Laid-Open No. 2018-0087264 “Image processing method and apparatus using feature map compression”
  • Patent Document 2 a feature map generated by performing a convolution operation on an input image is displayed in at least one line unit.
  • a technique for reducing the amount of computation by reducing the number of filter parameters by processing or compressing them is disclosed.
  • Patent Document 2 “An electronic device and control method for high-speed compression processing of a feature map of a CNN utilization system” (Patent Document 2), a feature map for an input image is acquired, and the acquired features A technique of transforming a feature map through a lookup table corresponding to the map and then compressing the transformed feature map through a corresponding compression mode is disclosed.
  • Patent Document 1 Korean Patent Publication No. 2018-0087264
  • Patent Document 2 Korean Patent Publication No. 2020-0026026
  • the conventional compression method of image features processes the entire input image and encodes and decodes it, not only information necessary for a machine or a person (eg, object information, object location, etc.) but also unnecessary information such as a background is included. to be transmitted or processed. As a result, not only the size of the extracted feature information is large, but also compression of the extracted feature information is often inefficient.
  • the problem to be solved by the present invention is to efficiently encode and/or decode feature information of an input image for a machine vision network that performs a specific task such as image restoration, object detection, object tracking, object classification, etc.
  • An object of the present invention is to provide a method and apparatus for processing an input image for machine vision that can efficiently transmit or process information necessary for a person to perform a task.
  • An embodiment of the present invention for solving the above problems relates to a method of encoding/decoding characteristic information of an input image for efficiently processing characteristic information of an image, and first, the characteristic information extracted from the input image Visualize it.
  • An existing deep learning network or an existing feature extractor may be applied to extract feature information, and there is no particular limitation on the type.
  • imaged feature information is compressed (encoded) and/or restored (decoded) using a conventional video codec.
  • the imaged feature information prior to encoding/decoding using a conventional video codec, the imaged feature information is By first performing a predetermined pre-processing process for the data, the size of data constituting the extracted feature information is reduced or compression efficiency is improved. Thereby, the data size of the characteristic information to be transmitted or processed can be effectively reduced.
  • an embodiment of the present invention proposes an efficient encoding and decoding method and apparatus together with a system architecture (structure) for performing a machine vision mission as well as efficient compression of feature information.
  • An embodiment of the present invention for solving the above problems is an image processing method for machine vision, wherein an extraction step of extracting feature information from the image, and preprocessing the feature information extracted in the extraction step, A pre-processing step of reducing the size of information and an encoding step of encoding the pre-processed feature information by applying an existing video codec technique, wherein in the encoding/decoding step, the pre-processing step is used in the pre-processing step It receives and encodes preprocessing related information related to the preprocessing method.
  • the pre-processing may be performed by applying one or more methods among normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
  • the encoding/decoding step includes a decoding process of decoding the bitstream generated as a result of the encoding process, and the encoding/decoding step includes prediction-based encoding/decoding and transformation-based encoding. Encoding/decryption is performed by one or more methods among /decryption.
  • an image processing apparatus including a processor for processing an image for machine vision, wherein the processor includes: a feature extractor for extracting feature information from the image; A preprocessor for reducing the size of the feature information by preprocessing the feature information extracted by the feature extraction unit, and an encoder/decoder for encoding the feature information preprocessed by the preprocessor by applying an existing video codec technique, and , the encoding/decoding unit receives preprocessing-related information related to the preprocessing method used by the preprocessor from the preprocessor and encodes the same.
  • the preprocessor may perform the preprocessing by applying one or more methods of normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
  • the encoding/decoding unit also performs a decoding process of decoding the bitstream generated as a result of the encoding process, and the encoding/decoding unit is prediction-based encoding/decoding and transformation-based encoding/decoding. Encoding/decoding may be performed by one or more methods among decoding.
  • the metadata generated in the pre-processing process and the pre-processing related information are encoded for the pre-processed feature information.
  • FIG. 1 is a block diagram showing a schematic configuration of an image processing apparatus for machine vision according to an embodiment.
  • FIG. 2 is a block diagram schematically showing an example of a detailed configuration of the processor of FIG. 1 .
  • FIG. 3 is a diagram schematically showing an example of a method for performing feature extraction based on deep learning in a network for performing a specific task.
  • 4 is a diagram showing an example of a case in which normalized feature values are divided into four sections.
  • FIG. 5 is a diagram illustrating an example in which a preprocessed feature map is expressed as an n-bit symbol map.
  • FIG. 6 is a diagram showing an example of a binary map formed according to the order of bins.
  • FIG. 7 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a network model that performs machine vision.
  • FIG. 8 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
  • FIG. 9 is a configuration diagram schematically illustrating another example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
  • FIG. 10 is a diagram illustrating the configuration of a system corresponding to the system of FIG. 7 from a different point of view, in a case in which an image restoration network is not provided.
  • FIG. 11 is a diagram illustrating the configuration of a system corresponding to the system of FIG. 7 from a different point of view, in a case in which an image restoration network is provided.
  • FIG. 12 is a view showing the configuration of a system corresponding to the system of FIG. 8 from another viewpoint.
  • a module in the present specification may mean hardware capable of performing functions and operations according to each name described in this specification, or may mean computer program code capable of performing specific functions and operations. Or, it may refer to an electronic recording medium on which a computer program code capable of performing a specific function and operation is loaded, for example, a processor or a microprocessor. That is, a module may mean a functional and/or structural combination of hardware for carrying out the technical idea of the present invention and/or software for driving the hardware.
  • FIG. 1 is a block diagram showing a schematic configuration of an image processing apparatus for machine vision according to an embodiment.
  • an image processing apparatus 10 encodes and decodes feature information of an input image, and features extracted from a received image to perform a specific task in a machine vision network (machine vision system). The process of encoding and then decoding the information can be performed. For example, the image processing apparatus 10 encodes the feature information extracted from the received image in a predetermined method to generate a bitstream and restores the encoded bitstream, so that the machine vision network performs a predetermined task, for example. Image data used to effectively perform tasks such as object tracking, object recognition, and image restoration can be output.
  • the image processing apparatus 10 includes at least a receiver 12 , a memory 14 , and a processor 16 . According to an embodiment, the image processing apparatus 10 may further include a transmitter 18 .
  • the receiver 12 may receive an image, that is, a moving image or a still image.
  • the receiver 12 is for receiving an original image that can be utilized in a machine vision network, and is not limited to an image directly captured by an imaging device, and is an image captured in advance and transmitted through another communication network or another storage device. It may be an image stored in .
  • the image received by the receiver 12 may be input to the processor 16 and/or stored in the memory 14 and then input to the processor 16 .
  • the memory 14 stores some or all of the image data received by the receiver 12 . According to an embodiment, all or part of the image data received by the receiver 12 may be directly input to the processor 16 without being stored in the memory 14 . In addition, the memory 14 stores image data that has been processed or is being processed by the processor 16 . For example, the memory 14 may store metadata and/or preprocessing related information generated during preprocessing of the feature map in the processor 16 to be described later, preprocessing result data, and the like.
  • the memory 14 includes encoded feature map data (bitstream) generated during the encoding/decoding process of the processor 16 to be described later, a feature map restored from the bitstream by the processor 16, related data of these feature maps,
  • image data restored from the feature map (eg, data for a machine vision network) may be stored.
  • the processor 16 processes the image data received by the receiver 12 and/or the image data stored in the memory 14 to generate image data for the machine vision network.
  • the type or type of image data generated by the processor 16 may vary depending on the function of the machine vision network. For example, image data recovered through compression and restoration of feature information and/or generated by compressing feature information It may be a bitstream that becomes In the former case, the machine vision network performs a specific task using the restored image. On the other hand, in the latter case, the machine vision network performs a specific task by restoring the feature information from the received bitstream and then generating the restored image therefrom.
  • the processor 16 extracts feature information from the input image input from the receiver 12 or the memory 14, and then encodes (compresses) the extracted feature information by applying a conventional video codec compression technique, Create a bitstream. At this time, the processor 16 compresses the extracted feature information into an image. In addition, the processor 16 may perform a predetermined pre-processing on the imaged feature information prior to applying the conventional video codec compression technique, thereby improving compression efficiency in the subsequent compression process.
  • the processor 16 may restore the feature map by decoding the generated bitstream.
  • a decoding technique corresponding to the coding technique of the existing video codec used in the above-described compression process may be applied.
  • the processor 16 may restore a predetermined image from the restored feature information after restoring the feature information. And, if necessary, the processor 16 performs predetermined post processing on the restored feature information or image.
  • meta data used or generated in the pre-processing process and/or pre-processing related information (hereinafter referred to as 'pre-processing meta data') are utilized.
  • the processor 16 may generate the preprocessing technique itself or various information related thereto (hereinafter referred to as 'preprocessing related information') as preprocessing metadata.
  • the generated pre-processing metadata may be utilized in a compression and/or decoding process of the pre-processed feature information in the processor 16 .
  • the transmitter 18 transmits the feature information compressed and restored by the processor 16 or image data restored therefrom (ie, feature information or image data that has been restored or post-processed) to the machine vision network.
  • the machine vision network may be implemented as a system separate from the image processing apparatus 10 , or may be implemented integrally therewith. In the latter case, there is no need for the transmitter 18 in the image processing apparatus 10 , and the output of the processor 16 may be directly input to the machine vision network.
  • the machine vision network that has received the image data from the transmitter 18 uses the received image data to perform predetermined tasks, for example, object tracking, object recognition, object segmentation, image restoration, and the like.
  • FIG. 2 is a block diagram schematically showing an example of a detailed configuration of the processor 16 of FIG. 1 .
  • the processor 16 includes a feature extraction unit 102 , a preprocessing unit 104 , and an encoding/decoding unit 106 .
  • the processor 16 may further include a post-processing unit 108 .
  • the feature extraction unit 102 extracts feature information or a feature map from the input image.
  • the feature information may be referred to as a feature map or sparse map, a feature vector, a latent vector, or the like.
  • Such feature information may be in all possible forms extracted from the feature extractor, and may be defined according to at least one of a user/device/network type, environment, and definition.
  • the feature extraction unit 102 When the feature extraction unit 102 performs feature extraction from the input image, various well-known image processing-based feature extraction techniques may be applied. Alternatively, the feature extraction unit 102 may extract features by using one or more of deep learning or machine learning-based feature extraction techniques.
  • a subject performing feature extraction may vary according to an embodiment of the feature extraction unit 102 .
  • the feature information is at least one of an application, a device, the deep learning network itself, or a feature extraction unit inside the deep learning network that performs at least one specific task such as image restoration, object recognition, object detection, and object tracking.
  • the feature information is at least one of an application, a device, the deep learning network itself, or a feature extraction unit inside the deep learning network that performs at least one specific task such as image restoration, object recognition, object detection, and object tracking.
  • at least one or more of an image processing technique for the purpose of feature extraction, a deep learning network, a partial network of a network for performing a specific task, and an intermediate step of a network for performing a specific task method can be used.
  • feature information is extracted from an image input by a backbone network or a feature extractor.
  • the extracted feature map may be expressed as an image 202 of a predetermined shape.
  • a machine vision network indicated as an evaluation network or a verification network, etc.
  • it is extracted to perform a predetermined task (image restoration, object recognition, object tracking, object classification, etc.)
  • a feature map can be used.
  • the extracted feature information may be expressed in various ways.
  • the expression of the extracted feature information may vary according to at least one of data type, size, network type, size, network layer type, and size.
  • the extracted feature map may be formed of data having at least one characteristic among high correlation data such as a general image, sparse data, and dense data.
  • the post-processing method may be applied in consideration of the characteristics of the extracted feature map data.
  • the pre-processing unit 104 performs a predetermined pre-processing on the feature information extracted by the feature extracting unit 102 .
  • the preprocessor 104 converts the extracted feature information into a form for performing compression in a subsequent compression process. This is to convert the feature information into a form suitable for compression and restoration of the feature information in the encoder/decoder 106, and the output of the preprocessor 104 is at least one of a conversion method, a process, a form, and a size of the feature information. It may vary according to the above.
  • the output of the preprocessor 104 may be 1D, 2D, 3D, or the like, or may be an integer-dimensional result, and may be maintained, increased, or reduced in size compared to the input.
  • the preprocessor 104 may convert the extracted feature information into another form by applying various methods. For example, the preprocessor 104 transforms the feature information by applying one or more methods among normalization, scaling, reordering, expression bit reduction, quantization, and filtering. can do.
  • a specific method of performing preprocessing transformation of feature information using normalization is not particularly limited. For example, one or more methods among methods such as maximum/minimum value normalization and normal distribution normalization may be used.
  • the normalization parameters for example, the minimum value, the maximum value, the feature value, the standard deviation, and one or more values or information of the interval information, are added in the form of syntax, semantic, metadata, etc. It is transmitted to the /decryption unit 106 and can be used for encoding/decoding.
  • the feature information may be normalized by using the maximum value and the minimum value among the feature information. More specifically, normalization may be performed using a calculation formula (feature value - minimum value)/(maximum value - minimum value), and a normalization value according to the calculation result may be between 0 and 1.
  • the application range of the normalization may vary according to the dimension, characteristic, size, number, type, data type of the characteristic value, etc. of the characteristic information.
  • the dimension of the feature information may be n-dimensional
  • the number of channels may be C channels
  • n and C may be at least one of positive integers, such as 1, 2, and 3, respectively.
  • the shape of the feature information is a three-dimensional shape, that is, W ⁇ H ⁇ C (horizontal ⁇ vertical ⁇ channel)
  • normalization may be performed using the maximum/minimum values for the entire number of channels.
  • the shape of the feature information is a three-dimensional shape, that is, W ⁇ H ⁇ C (horizontal ⁇ vertical ⁇ channel)
  • normalization may be performed using the maximum/minimum values for each channel.
  • normalization may be performed using maximum/minimum values according to the types of feature values, such as F1 normalization using the maximum/minimum values of F1, F2 normalization using the maximum/minimum values of F2, and the like.
  • F1 normalization using the maximum/minimum values of F1, F2 normalization using the maximum/minimum values of F2, and the like may be normalized using the maximum/minimum values of all feature values.
  • normalization may be performed using the mean/standard deviation of feature information.
  • the normalization can be performed by the formula (feature value-mean)/(standard deviation), and in this case, the feature values are normally distributed in the form of a standard deviation of 1.
  • the normalized feature value z consists of negative and positive numbers, and the occurrence probability can be calculated according to the range of z. For example, the probability of occurrence in the range of the normalized feature value (z) between -1 and +1 is 68%, and the probability of occurrence in the range of the normalized feature value (z) between -2 and +2 is 95%.
  • the occurrence probability between sections may be used as a probabilistic model in the entropy encoding/decoding process in the encoding/decoding unit 106 .
  • normalized feature values obtained through maximum/minimum value normalization or normal distribution normalization may be divided into an interval of m (m is an integer greater than or equal to 2).
  • a case in which the normalized feature value is out of a specific range may be regarded as a singular value, and the section may be classified. More specifically, in the case of maximum/minimum value normalization, the case where the normalized feature value is 0.2 or less or 0.8 or more is regarded as a singular value, and has three intervals, namely 0.2 or less (first interval), and 0.2 to 0.9 (second interval). ) and 0.8 or more (the third interval), the interval of normalized feature values may be divided. And, in the case of normal distribution normalization, as shown in FIG.
  • the sections may be classified by dividing the sections based on arbitrary criteria. More specifically, when m is 4, in the case of maximum/minimum value normalization, intervals may be divided based on 0.2, 0.5, and 0.8. In this case, the section can be classified as section 1 when the normalized feature value is 0.2 or less, section 2 when it is 0.2 or more and 0.5 or less, section 3 when it is 0.5 or more and 0.8 or less, and section 4 when it is 0.8 or more. And in the case of normal distribution normalization, as in section 1 when the normalized feature value is -1 or less, section 2 when it is -1 or more and 0 or less, section 3 when it is 0 or more and 1 or less, and section 4 when it is 1 or more. can be classified.
  • the designated section may be expressed with n-bits (n is a positive integer) based on at least one of the number of the designated sections and the probability of the sections.
  • the expressed section information may be encoded using one or more methods of binarization and entropy encoding. For example, when divided into 4 sections, section information can be expressed as 2-bits. Section 1 can be expressed by binarizing 00, section 2 with 01, section 3 with 10, and section 4 with 11. And this binarized representation (corresponding bin) can be entropy-encoded. Alternatively, when divided into four sections, an appropriate bin may be assigned to each section based on a probability through Huffman coding. For example, the section with the highest probability is 0, and the section with the next highest probability is 10. , the section with the next highest probability can be expressed in the form of 110, and finally, the section with the lowest probability can be expressed in the form of 111.
  • an n-bit symbol map can be formed by designating a representative value in each section.
  • the representative value may be designated as at least one of a positive integer, an average value for each section, and a maximum value or a minimum value for each section.
  • 5 is a view showing an example in which a preprocessed feature map is expressed as an n-bit symbol map, in which an 8-bit feature value is expressed by three symbols (three pixels).
  • one or more binary maps may be formed according to the order of bins.
  • 6 shows an example of such a binary map.
  • the feature values are divided into 4 sections, that is, 1 section of 0-5, 2 sections of 5-10, 3 sections of 10-15, and 4 sections of 15-20, each section has 2 Bits, for example, 10 in section 1, 00 in section 2, 01 in section 3, and 11 in section 4 are assigned to form a 2-bit symbol map.
  • a binary map using , 0, 1, and 1 can be constructed, and a binary map using 0, 1, 0, and 1, which is the second bin, can be constructed.
  • the preprocessing unit 104 may perform preprocessing using scaling or quantization.
  • m-bit scaling or quantization may be performed.
  • one or more values or information among scaling parameters or quantization parameters, interval information, singular value information, and range information may be included in the form of syntax, semantic, metadata, etc. It may be transmitted to the abdomen 106 .
  • the encoder/decoder 106 may perform scaling or quantization with bits having a size suitable for encoding or decoding. For example, when encoding or decoding is performed by the encoder/decoder 106 using a conventional video codec, scaling or quantization may be performed with an 8-10 bit image suitable as an input of the conventional video codec. If the feature value has a 32-bit floating-point data type, scaling or quantization can be performed in an 8-bit or 10-bit unsigned integer type. In this case, in order to convert to an unsigned integer type, the normalization method described above may be performed.
  • quantization may be performed using one or more quantization methods among vector quantization, uniform quantization, and non-uniform quantization.
  • elements (feature values) that are not singular values are quantized using relatively large quantization parameters, and elements (feature values) corresponding to singular values are quantized using relatively small quantization parameters. Quantization can be performed. Conversely, elements (feature values) that are not singular values are quantized using relatively small quantization parameters, and elements (feature values) corresponding to singular values are quantized using relatively large quantization parameters. You can do it.
  • quantization may be performed at regular intervals while varying the quantization parameter according to the range of the feature value.
  • the quantization parameter may be varied according to the range of the feature value, but quantization may be performed at irregular intervals.
  • the quantization section can be determined by obtaining a quantization section that minimizes the quantization error of the quantization target. may be sent to (106).
  • the pre-processing unit 104 may perform pre-processing by using rearrangement of feature information (feature map).
  • feature map feature information
  • at least one or more methods among average, variance, histogram, and direction may be used.
  • information related to rearrangement for example, one or more values or information among rearrangement information, rearrangement index, rearrangement order, average, variance, histogram, and direction required for decoding, is a syntax, semantic , may be transmitted to the decoder/decoder 106 in the form of metadata.
  • the rearrangement in performing the rearrangement using the mean/variance, may be performed in one or more units of channels, regions, and lines of feature information.
  • one or more values of mean and variance may be used.
  • one or more of the average and variance of each channel may be calculated, and channels of the feature may be rearranged in ascending or descending order.
  • one or more of the average and variance of each channel may be calculated and rearranged in an ascending or descending order in a 2D form.
  • the channels of the features may be rearranged in ascending or descending order by calculating one or more of the average and variance of each region.
  • one or more of the average and variance of each line may be calculated, and channels of the feature may be rearranged in ascending or descending order.
  • one or more of the mean and variance may be calculated, and correlations between channels may be derived based on the calculations and rearranged in the order of high correlation.
  • the information used for rearrangement may be used for temporal encoding/decoding in video encoding, and as an example, the unit of a group of pictures (GOP) used for temporal encoding/decoding may be adjusted according to a characteristic. . That is, for efficient video encoding, sub-coding may be performed between feature channels having high correlation, and the decoder decodes information transmitted from the encoder.
  • GOP group of pictures
  • the rearrangement may be performed in one or more units of channels, regions, and lines of feature information.
  • a histogram of feature values may be formed, and rearrangement may be performed using a correlation between the histogram and a representative value such as the average and variance of each channel.
  • a histogram of feature values may be formed, and rearrangement may be performed by distinguishing between frequently occurring feature values and infrequently occurring feature values.
  • the rearrangement in performing the rearrangement using the directionality, may be performed in one or more units of channels, regions, and lines of feature information.
  • the directionality may be defined using the gradient of each channel and rearrangement of similar directions may be performed.
  • scaling or quantization may be performed on the rearranged feature information according to the characteristics of the applied rearrangement method.
  • the preprocessor 104 may perform the preprocessing using a conversion technique.
  • a conversion technique among Principal Component Analysis (PCA), Karhunen-Loeve Transform (KLT), Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Fast Fourier Transform (FFT), and Fourier Transform (FT) More than one method may be applied.
  • PCA Principal Component Analysis
  • KLT Karhunen-Loeve Transform
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • FFT Fast Fourier Transform
  • FT Fourier Transform
  • Such a transformation technique may be applied after first applying the above-described pre-processing methods including normalization. For example, after performing preprocessing using normalization and/or quantization, the size or type of input data may be reduced by applying a PCA transformation technique.
  • variables and/or information related to the pre-processing in the pre-processing unit 104 may be generated as a result of the pre-processing in the form of syntax, semantics, metadata, etc. for decoding.
  • preprocessing-related data may also be encoded by one or more methods of binarization and entropy encoding (according to the embodiment, the encoding of such preprocessing-related data is performed by the preprocessor 104 or the encoding/decoding unit 106) could be).
  • the binarization techniques that can be used include a truncated rice binarization method, a k-th order Exponential golomb binarization method, a limited k-order exponential-Golomb binarization method, and a fixed-length binarization method. method, a unary binarization method, a truncated unary binarization method, a truncated binary binarization method, etc., but is not limited thereto.
  • Entropy encoding may be performed not only on the aforementioned preprocessing-related data, but also on previous information generated through binarization.
  • Such entropy encoding includes Run-length encoding, Huffman encoding, arithmetic coding, context-based adaptive binary arithmetic coding (CABAC, Context-Adaptive Binary Arithmetic Coding), and context-based adaptive variable length coding (CAVLC, Context- One or more of Adaptive Variable Length Coding and Bypass coding may be applied, and this is merely exemplary.
  • the encoding/decoding unit 106 encodes and decodes pre-processed feature information and pre-processing related information such as metadata. According to this embodiment, there is no particular limitation on the technique applied by the encoding/decoding unit 106, and the encoding/decoding method in the existing image compression standard as well as the encoding/decoding method to be developed or adopted in the future may be applied. , which will be described later.
  • the encoder of the encoder/decoder 106 may include the above-described feature extractor 102 .
  • the filter for the convolutional layer may be changed according to one or more of a type of a feature, a learning form, a size, and the like, and one or more coefficients may be defined.
  • the filter for the fully connected layer may be changed according to one or more of the type of feature, the learning form, the number of inputs, the size, and the like, and one or more coefficients may be defined.
  • the decoding unit of the encoding/decoding unit 106 may include one or more convolutional layers and fully connected layers when a learning-based compression and machine vision network is configured.
  • the filter for the synthetic product layer may be changed according to one or more of a feature type, a learning form, a size, and the like, and one or more coefficients may be defined.
  • the filter for the fully connected layer may be changed according to one or more of the type of feature, the learning form, the number of inputs, the size, and the like, and one or more coefficients may be defined.
  • the shape of the feature input to the encoding/decoding unit 106 may be in the form of a kD dimension.
  • k may be a positive integer such as 1, 2, 3, ..., and the like.
  • the input feature may be a feature vector, a hidden vector, or the like.
  • the input feature may be in the form of a frame having horizontal and vertical lengths.
  • the input feature may have a horizontal, vertical, and channel shape.
  • the input feature may have a horizontal, vertical, and time form.
  • encoding/decoding may be performed in units of at least one of a sample, a line, a block, and a frame.
  • encoding/decoding may be performed in units of at least one of a sample, a line, a block, and a frame according to at least one of the shape, size, and dimension of the input feature.
  • information on a corresponding unit may also be encoded according to a coding unit, and the encoded information may be decoded and used for decoding.
  • the encoded information may be decoded and used for decoding.
  • encoding/decoding is performed in units of blocks, one or more pieces of information among a size, division, and shape of a block may be encoded, and the encoded information may be decoded and utilized for decoding of feature information.
  • encoding/decoding is performed on a line-by-line basis, one or more pieces of information among the length, number, and shape of a line may be encoded, and the encoded information may be decoded and utilized for decoding of feature information.
  • one or more pieces of information among frame shape, size, number, and division information may be encoded, and the encoded information may be decoded to be utilized for decoding of feature information.
  • prediction-based encoding/decoding may be performed.
  • prediction may be performed in units of one or more of samples, lines, blocks, and frames.
  • a prediction method may vary according to data characteristics of feature information.
  • the prediction method at least one of spatial prediction, temporal prediction, and channel prediction may be used.
  • prediction may be performed according to coding units from previously encoded/decoded neighboring samples or prediction values.
  • the neighboring sample may be a sample adjacent to the current coding unit or a neighboring sample that is not adjacent to the current coding unit, but is specified according to a predetermined rule.
  • Such a neighboring sample may be one sample or a set of samples.
  • prediction when prediction is performed according to coding units from neighboring samples already encoded/decoded, prediction can be performed using one or more of directional prediction, template prediction, dictionary prediction, and matrix multiplication prediction.
  • directional prediction prediction of a current unit (eg, a block) may be performed by copying or interpolating a neighboring sample according to a direction using an already encoded/decoded neighboring sample.
  • template prediction prediction may be performed by searching for a template most similar to the current prediction unit from previously encoded/decoded neighboring samples.
  • prediction blocks of neighboring samples or units that have already been encoded/decoded are stored in a separate memory, and prediction of the current unit can be performed from information (samples or blocks) stored in the separate memory.
  • prediction of the current unit may be performed by multiplying the already encoded/decoded neighboring samples and an arbitrary matrix.
  • the current unit may be predicted from a temporally front frame and/or a rear frame with a size corresponding to the coding unit.
  • prediction on the current unit may be performed from a channel other than the current channel with a size corresponding to the coding unit.
  • the coding unit may vary according to the configuration of the feature information. More specifically, if the feature information is configured in a multi-channel form and is arranged according to the correlation between channels, the coding unit may also be determined based on the correlation. For example, if feature information is arranged by an average value, a coding unit may be configured by a bundle of similar average values. Alternatively, if they are arranged based on the degree of similarity between channels, the coding unit may be configured as a bundle of similarities.
  • the encoding/decoding unit 106 may encode/decode a difference (residual signal) between the original signal and the prediction signal.
  • a prediction method for generating a prediction signal one or more methods among the above-described prediction methods may be applied.
  • the residual signal may be a difference between the original signal and the prediction signal using one or more of the aforementioned prediction methods.
  • the encoding/decoding unit 106 may encode prediction information and a residual signal generated in performing prediction-based encoding/decoding by applying one or more methods of binarization and entropy encoding. More specifically, in performing binarization, one or more of the following binarization methods may be applied, but the present invention is not limited thereto: Truncated Rice binarization method, k-th order Exponential golomb) binarization method, limited k-order exponential-Gollum binarization method, fixed-length binarization method, unary binarization method, truncated unary binarization method, truncated binary binarization method .
  • the encoding/decoding unit 106 performs entropy encoding/decoding on variables or related information used in the above-described prediction process and residual signal generation process, and previous information generated through binarization.
  • One or more of the following methods may be used for entropy encoding/decoding, which is merely exemplary: Run-length encoding, Huffman encoding, arithmetic coding, and context-based adaptive binary arithmetic coding (CABAC, Context- Adaptive Binary Arithmetic Coding), Context-Adaptive Variable Length Coding (CAVLC), Bypass coding.
  • CABAC Context- Adaptive Binary Arithmetic Coding
  • CAVLC Context-Adaptive Variable Length Coding
  • the encoding/decoding unit 106 may also perform transformation-based encoding/decoding in encoding/decoding the feature information.
  • the input to be transformed is one of the feature information extracted by the feature extraction unit 102 , feature information preprocessed by the preprocessor 104 , and the residual signal generated through the aforementioned prediction process. can be more than By performing such transformation-based encoding/decoding, the signal of the current coding unit may be transformed into a signal that can be encoded more efficiently.
  • the transformation method may apply one or more of the following transformation methods, which are merely exemplary: PCA (Principal Component Analysis), KLT (Karhunen-Loeve Transform), DCT (Discrete Cosine Transform), DST (Discrete Sine Transform) ), FFT (Fast Fourier Transform), FT (Fourier Transform).
  • PCA Principal Component Analysis
  • KLT Kerhunen-Loeve Transform
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • FFT Fast Fourier Transform
  • FT Fast Fourier Transform
  • the encoding/decoding unit 106 also binarizes one or more of information generated in the transform-based encoding/decoding process, such as transform information, transform kernel information, transform coefficient information, and coefficients of a changed signal, at least one method among binarization and entropy encoding. can be applied and encoded.
  • binarization one or more of the following binarization methods may be applied, which are merely exemplary: Truncated Rice binarization method, k-th order Exponential golomb binarization method, limited k-order exponential-Gollum binarization method, fixed-length binarization method, unary binarization method, truncated unary binarization method, truncated binary binarization method.
  • the encoding/decoding unit 106 may perform entropy encoding/decoding on variables and related information used in the above-described conversion process and previous information generated through binarization.
  • One or more of the following methods may be applied to entropy encoding/decoding, which is merely exemplary: Run-length encoding, Huffman encoding, arithmetic coding, and context-based adaptive binary arithmetic coding (CABAC, Context) -Adaptive Binary Arithmetic Coding), Context-Adaptive Variable Length Coding (CAVLC), Bypass Coding.
  • the post-processing unit 108 performs a predetermined post-processing on the output signal from the encoding/decoding unit 106 .
  • a specific post-processing method applied in the post-processing unit 108 there is no particular limitation on a specific post-processing method applied in the post-processing unit 108 .
  • the post-processing unit 108 may perform a post-processing procedure by applying a predetermined method corresponding to the method applied by the aforementioned pre-processing unit 104 .
  • the post-processing unit 108 may additionally perform a predetermined signal processing procedure suitable for performing various tasks using machine vision in a machine vision network, for example, object tracking, object recognition, image restoration, and the like.
  • data to be subjected to post-processing in the post-processing unit 108 may be a video signal decoded after being encoded in the encoder/decoder 106, but the format of the post-processed result is a machine vision network utilizing it. It may vary depending on the performance or characteristics of the
  • the image processing apparatus performs the tasks of machine vision in a machine vision system or a machine vision network, that is, image restoration, object recognition, object tracking, object classification, object segmentation, etc. is for Such an image processing apparatus corresponds to a kind of compression network, and is integrated with the machine vision network and is implemented as a single network (hereinafter, referred to as a 'combined network') or a machine vision network. It can be implemented as a separate network from
  • FIG. 7 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a network model that performs machine vision.
  • an image restoration network for restoring an image from a bitstream may be additionally provided in the entire system, and a detailed description thereof will be omitted (see FIG. 9 or FIG. 11 and related description).
  • the system may preprocess the feature information of an input image generated by the feature extractor of the corresponding network model, and then perform encoding and decoding on the preprocessed feature information.
  • the preprocessing method or the encoding/decoding method any one or more of the various methods described above may be used, respectively.
  • the bitstream generated as a result of encoding may be one or more of feature information output from one or more layers of a network model performing machine vision, a hidden vector, or an encoded form thereof.
  • the corresponding bitstream may be a result of performing encoding by using one or more of the aforementioned preprocessing of the characteristic information and the encoding method of the characteristic information. In this case, information generated by at least one of the preprocessing process and the encoding process may be transmitted to the decoder.
  • FIG. 8 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
  • processing such as feature extraction, preprocessing, encoding/decoding, etc. is performed in a compression network separate from the machine vision network.
  • image data generated by performing predetermined post-processing after encoding/decoding eg, feature information decoded after being encoded into a bitstream, image restored from feature information, etc.
  • predetermined post-processing after encoding/decoding eg, feature information decoded after being encoded into a bitstream, image restored from feature information, etc.
  • FIG. 9 is a configuration diagram schematically illustrating another example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
  • the configuration of the system shown in FIG. 9 is different from the configuration of the system shown in FIG. 8 in that it further includes an image restoration network.
  • processing such as feature extraction, preprocessing, encoding/decoding, etc. is performed in a compression network separate from the machine vision network.
  • image data eg, feature information decoded after encoding into a bitstream, an image reconstructed from feature information, etc.
  • image restoration network restores the image by using the bitstream generated by the encoder/decoder.
  • the image restored in the image restoration network can be used together to perform a predetermined task in the machine vision network.
  • FIG. 10 and 11 respectively show the configuration of a system corresponding to the system of FIG. 7 from different perspectives.
  • FIG. 10 is a case in which an image restoration network is not provided
  • FIG. 11 is a case in which an image restoration network is provided. am.
  • the two network models may be combined and trained.
  • the output of the network model performing compression may be in the form of an image in which the input image is reconstructed or reconstructed feature information
  • the corresponding output may be an input of the network model performing machine vision.
  • the bitstream may be in the form of feature information/hidden vectors output from at least one or more layers of the two network models or an encoded form thereof.
  • the corresponding bitstream may be a result of performing encoding by using one or more of the pre-processing and feature encoding methods described above with reference to FIG. 2 . In this case, information generated in one or more of the preprocessing process and the encoding process may be transmitted to the decoder.
  • the entire system further includes a separate image restoration network model capable of performing decoding so that an image reconstructed from the input image can be output.
  • the image restoration network model may be decoded by using one or more of the above-described feature decoding methods among information used in compression of the input image, and may include filter coefficients of one or more network layers for decoding. .
  • FIG. 12 is a view showing the configuration of a system corresponding to the system of FIG. 8 from another viewpoint.
  • both a network model performing compression and a network model performing machine vision are used, and each network model can be trained separately.
  • the output of the network performing compression may be an image from which an input image is reconstructed, and the corresponding output may be an input of a network model performing machine vision.
  • the bitstream may be in the form of feature information output from at least one or more layers of the compression network, a hidden vector, or an encoded form thereof.
  • the corresponding bitstream may be a result of performing encoding using one or more of the above-described pre-processing method of the characteristic information and the encoding method of the characteristic information. In this case, information generated in the process of performing encoding during the pre-processing process or the encoding process may be transmitted to the decoder.

Landscapes

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

Abstract

Disclosed are a method and apparatus for processing an image for machine vision. The method for processing an image for machine vision, according to an embodiment, comprises: an extraction step of extracting feature information from the image; a pre-processing step of reducing the size of the feature information by pre-processing the feature information extracted in the extraction step; and an encoding/decoding step including an encoding process of encoding the pre-processed feature information by applying an existing video codec technique, wherein, in the encoding/decoding step, pre-processing-related information, which is related to a pre-processing method used in the pre-processing step, is received and encoded together.

Description

머신비전을 위한 영상의 처리 방법 및 장치Image processing method and apparatus for machine vision
본 발명은 영상 처리 기술에 관한 것으로, 머신비전 임무 수행을 위하여 입력영상 및/또는 이의 특징 정보를 효율적으로 처리 또는 전송하기 위하여, 입력영상의 특징 정보를 부호화 및/또는 복호화하는 영상 처리 기술에 관한 것이다.The present invention relates to image processing technology, and to image processing technology for encoding and/or decoding input image feature information in order to efficiently process or transmit an input image and/or feature information thereof for performing a machine vision task will be.
딥러닝(deep learning) 또는 머신러닝(machine learning)의 발전과 다양한 인공지능 플랫폼과 어플리케이션이 개발되고 있다. 이에 따라, 딥러닝 또는 머신러닝에 의해 기계 또는 사람이 처리하는 데이터가 방대해짐에 따라, 효율적인 정보 전송과 실시간 신호 처리를 위한 영상 및/또는 특징 정보에 대한 부호화 및 복호화 기술에 대한 요구가 증가하고 있다. The development of deep learning or machine learning and various artificial intelligence platforms and applications are being developed. Accordingly, as the amount of data processed by machines or humans by deep learning or machine learning increases, the demand for encoding and decoding technologies for image and/or feature information for efficient information transmission and real-time signal processing increases, and there is.
종래의 딥러닝 또는 머신러닝을 이용한 영상(특히, 동영상) 압축 기술은 입력 영상으로부터 특징 정보(feature information)/특징 맵(feature map)/특징 벡터(feature vector)/은닉 벡터(latent vector)를 추출한 다음, 추출된 특징 정보를 그 자체로 전송하거나 또는 특징 정보를 부호화하여 전송하기도 한다. 이 때, 추출된 특징 정보는 설계된 딥러닝 또는 머신러닝 네트워크에 따라 크기 등이 정의될 수 있다. 즉, 특징 정보는 다양한 크기, 다수의 채널 및 다양한 데이터 타입 중 하나 이상의 파라미터에 의해 정의될 수 있다. Conventional image (especially video) compression technology using deep learning or machine learning extracts feature information/feature map/feature vector/latent vector from an input image. Then, the extracted characteristic information is transmitted by itself or the characteristic information is encoded and transmitted. In this case, the size of the extracted feature information may be defined according to the designed deep learning or machine learning network. That is, the characteristic information may be defined by one or more parameters among various sizes, a plurality of channels, and various data types.
그런데, 이와 같이 정의된 특징 정보는 입력 영상과 비교하여 작은 크기를 가질 수 있지만, 작은 크기를 갖는 특징 정보는 원본 영상과 비교하여 정보량의 손실이 발생하게 된다. 따라서 정보량의 손실을 줄이기기 위해서는 가능한 큰 사이즈의 특징 정보가 요구되는데, 이 경우에는 데이터의 양이 증가하기 때문에 전송이나 실시간 데이터 처리에 어려움이 있다. 따라서 보다 큰 사이즈의 특징 정보에 대해서 엔트로피 부호화 및 복호화를 수행함으로써 정보 손실을 줄일 수 있을 뿐만 아니라 전송되거나 처리되어야 할 데이터의 크기를 줄이는 방법이 제안되고 있다.However, the characteristic information defined in this way may have a smaller size compared to the input image, but the characteristic information having a smaller size will lose information compared to the original image. Therefore, in order to reduce the loss of information, feature information of as large a size as possible is required. In this case, since the amount of data increases, there is a difficulty in transmission or real-time data processing. Accordingly, a method of reducing the size of data to be transmitted or processed as well as reducing information loss by performing entropy encoding and decoding on feature information of a larger size has been proposed.
일례로, 한국공개특허 제2018-0087264호, “특징맵 압축을 이용한 이미지 처리 방법 및 장치”(특허문헌 1)에는, 입력 이미지에 대하여 컨벌루션 연산을 수행하여 생성한 특징 맵을 적어도 하나의 라인 단위로 처리 또는 압축함으로써, 필터 파라미터의 수를 감소시켜서 연산량을 감소시키는 기술이 개시되어 있다. 그리고 한국공개특허 제2020-0026026호, “CNN 활용 시스템의 특징 맵을 고속으로 압축 처리하기 위한 전자장치 및 제어방법”(특허문헌 2)에는, 입력 영상에 대한 특징 맵을 획득하고, 획득한 특징 맵에 대응되는 룩업 테이블을 통해 특징 맵을 변환한 다음, 변환된 특징 맵을 이에 대응되는 압축 모드를 통해 압축하는 기술이 개시되어 있다. As an example, in Korean Patent Application Laid-Open No. 2018-0087264, “Image processing method and apparatus using feature map compression” (Patent Document 1), a feature map generated by performing a convolution operation on an input image is displayed in at least one line unit. A technique for reducing the amount of computation by reducing the number of filter parameters by processing or compressing them is disclosed. And in Korean Patent Application Laid-Open No. 2020-0026026, “An electronic device and control method for high-speed compression processing of a feature map of a CNN utilization system” (Patent Document 2), a feature map for an input image is acquired, and the acquired features A technique of transforming a feature map through a lookup table corresponding to the map and then compressing the transformed feature map through a corresponding compression mode is disclosed.
[선행기술문헌][Prior art literature]
[특허문헌][Patent Literature]
(특허문헌 1) 한국공개특허 제2018-0087264호(Patent Document 1) Korean Patent Publication No. 2018-0087264
(특허문헌 2) 한국공개특허 제2020-0026026호(Patent Document 2) Korean Patent Publication No. 2020-0026026
종래의 영상 특징의 압축 방법은 입력 영상 전체에 대하여 처리를 하여 부호화 및 복호화를 하기 때문에, 기계 또는 사람이 필요한 정보(예를 들어, 객체 정보, 객체 위치 등) 뿐만이 아니라 배경 등과 같이 불필요한 정보도 포함시켜서 전송하거나 처리하게 된다. 그 결과, 추출되는 특징 정보의 사이즈가 클 뿐만 아니라 추출된 특징 정보의 압축 또한 효율적이지 못한 경우가 많다.Since the conventional compression method of image features processes the entire input image and encodes and decodes it, not only information necessary for a machine or a person (eg, object information, object location, etc.) but also unnecessary information such as a background is included. to be transmitted or processed. As a result, not only the size of the extracted feature information is large, but also compression of the extracted feature information is often inefficient.
본 발명이 해결하고자 하는 과제는, 영상 복원, 객체 탐지, 객체 추적, 객체 분류 등의 특정 임무를 수행하는 머신비전 네트워크를 위하여, 입력 영상의 특징 정보를 효율적으로 부호화 및/또는 복호화하여, 기계 또는 사람이 임무를 수행하기 위해 필요한 정보를 효율적으로 전송하거나 또는 처리할 수 있는 머신비전을 위한 입력영상의 처리 방법 및 장치를 제공하는 것이다.The problem to be solved by the present invention is to efficiently encode and/or decode feature information of an input image for a machine vision network that performs a specific task such as image restoration, object detection, object tracking, object classification, etc. An object of the present invention is to provide a method and apparatus for processing an input image for machine vision that can efficiently transmit or process information necessary for a person to perform a task.
상기한 과제를 해결하기 위한 본 발명의 일 실시예는, 영상의 특징 정보를 효율적으로 처리하기 위한, 입력 영상의 특징 정보를 부/복호화하는 방법에 관한 것으로서, 먼저 입력 영상으로부터 추출된 특징 정보를 영상화한다. 특징 정보의 추출에는 기존의 딥러닝 네트워크 또는 기존의 특징 추출기 등이 적용될 수 있으며, 그 종류에 특별한 제한이 없다. An embodiment of the present invention for solving the above problems relates to a method of encoding/decoding characteristic information of an input image for efficiently processing characteristic information of an image, and first, the characteristic information extracted from the input image Visualize it. An existing deep learning network or an existing feature extractor may be applied to extract feature information, and there is no particular limitation on the type.
그리고 영상화된 특징 정보를 종래의 비디오 코덱을 이용하여 압축(부호화) 및/또는 복원(복호화)하는데, 본 발명의 실시예에 의하면 종래의 비디오 코덱을 이용한 부/복호화에 앞서, 영상화된 특징 정보에 대하여 소정의 전처리 과정을 먼저 수행함으로써, 추출된 특징 정보를 구성하는 데이터의 크기를 감소시키거나 또는 압축 효율이 향상되도록 한다. 이에 의하여, 전송되거나 또는 처리되어야 하는 특징 정보의 데이터 크기가 효과적으로 감소될 수 있다. In addition, imaged feature information is compressed (encoded) and/or restored (decoded) using a conventional video codec. According to an embodiment of the present invention, prior to encoding/decoding using a conventional video codec, the imaged feature information is By first performing a predetermined pre-processing process for the data, the size of data constituting the extracted feature information is reduced or compression efficiency is improved. Thereby, the data size of the characteristic information to be transmitted or processed can be effectively reduced.
이를 위하여, 후술하는 본 발명의 실시예에서는, 특징 정보의 데이터의 크기(즉, 정보량)을 감소시킬 수 있도록, 특징 정보의 압축을 위한 다양한 전처리 방법을 제안한다. 그리고 전처리된 특징 정보의 효율적인 부/복호화를 위한 예측, 변환 및/또는 엔트로피 부/복호화 방법도 함께 제안한다. To this end, in an embodiment of the present invention, which will be described later, various preprocessing methods for compression of feature information are proposed so that the size (ie, amount of information) of feature information can be reduced. In addition, prediction, transformation, and/or entropy encoding/decoding methods for efficient encoding/decoding of preprocessed feature information are also proposed.
또한, 본 발명의 실시예에서는 특징 정보의 효율적인 압축과 더불어 머신 비전 임무 수행을 위한 시스템 아키텍쳐(구조)와 함께 효율적인 부호화 및 복호화 방법과 장치를 제안한다.In addition, an embodiment of the present invention proposes an efficient encoding and decoding method and apparatus together with a system architecture (structure) for performing a machine vision mission as well as efficient compression of feature information.
상기한 과제를 해결하기 위한 본 발명의 일 실시예는, 머신비전을 위한 영상의 처리 방법으로서, 상기 영상으로부터 특징 정보를 추출하는 추출 단계, 상기 추출 단계에서 추출된 상기 특징 정보를 전처리하여 상기 특징 정보의 크기를 감소시키는 전처리 단계 및 전처리된 상기 특징 정보를 기존의 비디오 코덱 기법을 적용하여 부호화하는 부호화 과정을 포함하는 부/복호화 단계를 포함하고, 상기 부/복호화 단계에서는, 상기 전처리 단계에서 사용하는 전처리 방법과 관련되는 전처리 관련 정보를 수신하여 함께 부호화한다. An embodiment of the present invention for solving the above problems is an image processing method for machine vision, wherein an extraction step of extracting feature information from the image, and preprocessing the feature information extracted in the extraction step, A pre-processing step of reducing the size of information and an encoding step of encoding the pre-processed feature information by applying an existing video codec technique, wherein in the encoding/decoding step, the pre-processing step is used in the pre-processing step It receives and encodes preprocessing related information related to the preprocessing method.
상기 실시예의 일 측면에 의하면, 상기 전처리 단계에서는 정규화, 스케일링, 재배열, 표현 비트수 축소, 양자화, 변환 및 필터링 중에서 하나 이상의 방법을 적용하여 전처리를 수행할 수 있다. According to one aspect of the embodiment, in the pre-processing step, the pre-processing may be performed by applying one or more methods among normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
상기 실시예의 다른 측면에 의하면, 상기 부/복호화 단계에서는 상기 부호화 과정의 결과로 생성된 비트스트림을 복호화하는 복호화 과정을 포함하고, 상기 부/복호화 단계에서는 예측 기반의 부/복호화와 변환 기반의 부/복호화 중에서 하나 이상의 방법으로 부/복호화를 수행한다. According to another aspect of the embodiment, the encoding/decoding step includes a decoding process of decoding the bitstream generated as a result of the encoding process, and the encoding/decoding step includes prediction-based encoding/decoding and transformation-based encoding. Encoding/decryption is performed by one or more methods among /decryption.
상기한 과제를 해결하기 위한 본 발명의 다른 실시예는, 머신 비전을 위한 영상의 처리를 수행하는 프로세서를 포함하는 영상 처리 장치로서, 상기 프로세서는, 상기 영상으로부터 특징 정보를 추출하는 특징 추출부, 상기 특징 추출부가 추출한 상기 특징 정보를 전처리하여 상기 특징 정보의 크기를 감소시키는 전처리부 및 상기 전처리부가 전처리한 상기 특징 정보를 기존의 비디오 코덱 기법을 적용하여 부호화 과정을 수행하는 부/복호화부를 포함하고, 상기 부/복호화부는, 상기 전처리부가 사용하는 전처리 방법과 관련되는 전처리 관련 정보를 상기 전처리부로부터 수신하여 함께 부호화한다. Another embodiment of the present invention for solving the above problem is an image processing apparatus including a processor for processing an image for machine vision, wherein the processor includes: a feature extractor for extracting feature information from the image; A preprocessor for reducing the size of the feature information by preprocessing the feature information extracted by the feature extraction unit, and an encoder/decoder for encoding the feature information preprocessed by the preprocessor by applying an existing video codec technique, and , the encoding/decoding unit receives preprocessing-related information related to the preprocessing method used by the preprocessor from the preprocessor and encodes the same.
상기 실시예의 일 측면에 의하면, 상기 전처리부는 정규화, 스케일링, 재배열, 표현 비트수 축소, 양자화, 변환 및 필터링 중에서 하나 이상의 방법을 적용하여 전처리를 수행할 수 있다. According to an aspect of the embodiment, the preprocessor may perform the preprocessing by applying one or more methods of normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
상기 실시예의 다른 측면에 의하면, 상기 부/복호화부는 상기 부호화 과정의 결과로 생성된 비트스트림을 복호화하는 복호화 과정도 함께 수행하고, 상기 부/복호화부는 예측 기반의 부/복호화와 변환 기반의 부/복호화 중에서 하나 이상의 방법으로 부/복호화를 수행할 수 있다.According to another aspect of the embodiment, the encoding/decoding unit also performs a decoding process of decoding the bitstream generated as a result of the encoding process, and the encoding/decoding unit is prediction-based encoding/decoding and transformation-based encoding/decoding. Encoding/decoding may be performed by one or more methods among decoding.
본 발명의 실시예에 의하면, 입력 영상으로부터 추출되어 영상화된 특징 정보의 부호화에 앞서 소정의 전처리를 수행한 후에, 전처리 과정에서 생성된 메타데이터와 전처리 관련 정보를 함께 전처리된 특징 정보에 대한 부호화를 수행함으로써, 부호화의 대상이 되는 특징 정보의 효율적으로 감소시킬 수가 있다. 그리고 특징 정보의 효율적인 압축 및/또는 복원을 통하여 전송되거나 또는 처리되어야 하는 데이터의 양을 감소시킬 수가 있으므로, 머시비전 네트워크에서의 머신 비전 임무의 효율적인 수행이 가능하다.According to an embodiment of the present invention, after performing a predetermined pre-processing prior to encoding the imaged feature information extracted from the input image, the metadata generated in the pre-processing process and the pre-processing related information are encoded for the pre-processed feature information. By doing this, it is possible to efficiently reduce the feature information to be encoded. And, it is possible to reduce the amount of data to be transmitted or processed through efficient compression and/or restoration of feature information, so that the machine vision task in the machine vision network can be efficiently performed.
도 1은 일 실시예에 따른 머신비전을 위한 영상의 처리 장치의 개략적인 구성을 보여 주는 블록도이다.1 is a block diagram showing a schematic configuration of an image processing apparatus for machine vision according to an embodiment.
도 2는 도 1의 프로세서의 세부 구성의 일례를 도식적으로 보여 주는 블록도이다.FIG. 2 is a block diagram schematically showing an example of a detailed configuration of the processor of FIG. 1 .
도 3은 특정 임무를 수행하기 위한 네트워크에서, 딥러닝 기반으로 특징 추출을 수행하는 방법의 일례를 모식적으로 보여 주는 도면이다.3 is a diagram schematically showing an example of a method for performing feature extraction based on deep learning in a network for performing a specific task.
도 4는 정규화된 특징값들을 4개의 구간으로 나눈 경우의 일례를 보여 주는 도면이다.4 is a diagram showing an example of a case in which normalized feature values are divided into four sections.
도 5는 전처리된 특징 맵을 n-비트 심볼맵으로 표현한 일례를 보여 주는 도면이다. 5 is a diagram illustrating an example in which a preprocessed feature map is expressed as an n-bit symbol map.
도 6은 빈의 순서에 따라 형성한 이진 맵의 일례를 보여 주는 도면이다.6 is a diagram showing an example of a binary map formed according to the order of bins.
도 7은 본 발명의 실시예에 따른 영상 처리 장치가 머신 비전을 수행하는 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 일례를 도식적으로 보여 주는 구성도이다.7 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a network model that performs machine vision.
도 8은 본 발명의 실시예에 따른 영상 처리 장치가 머신비전 네트워크와는 구분되는 별도의 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 일례를 도식적으로 보여 주는 구성도이다.8 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
도 9는 본 발명의 실시예에 따른 영상 처리 장치가 머신비전 네트워크와는 구분되는 별도의 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 다른 예를 도식적으로 보여 주는 구성도이다.9 is a configuration diagram schematically illustrating another example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network.
도 10은 도 7의 시스템에 대응하는 시스템의 구성을 다른 관점에서 도시한 것으로서, 영상복원 네트워크가 구비되어 있지 않은 경우이다. FIG. 10 is a diagram illustrating the configuration of a system corresponding to the system of FIG. 7 from a different point of view, in a case in which an image restoration network is not provided.
도 11은 도 7의 시스템에 대응하는 시스템의 구성을 다른 관점에서 도시한 것으로서, 영상복원 네트워크가 구비되어 있는 경우이다.11 is a diagram illustrating the configuration of a system corresponding to the system of FIG. 7 from a different point of view, in a case in which an image restoration network is provided.
도 12는 도 8의 시스템에 대응하는 시스템의 구성을 다른 관점에서 도시한 것이다.12 is a view showing the configuration of a system corresponding to the system of FIG. 8 from another viewpoint.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Terms and words used in this specification are terms selected in consideration of functions in the embodiments, and the meaning of the terms may vary according to the intention or custom of the invention. Therefore, the terms used in the examples to be described below, when specifically defined in the present specification, follow the definition, and when there is no specific definition, it should be interpreted as a meaning commonly recognized by those skilled in the art.
그리고 본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다. 즉, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In addition, a module in the present specification may mean hardware capable of performing functions and operations according to each name described in this specification, or may mean computer program code capable of performing specific functions and operations. Or, it may refer to an electronic recording medium on which a computer program code capable of performing a specific function and operation is loaded, for example, a processor or a microprocessor. That is, a module may mean a functional and/or structural combination of hardware for carrying out the technical idea of the present invention and/or software for driving the hardware.
도 1은 일 실시예에 따른 머신비전을 위한 영상의 처리 장치의 개략적인 구성을 보여 주는 블록도이다. 1 is a block diagram showing a schematic configuration of an image processing apparatus for machine vision according to an embodiment.
도 1을 참조하면, 영상의 처리 장치(10)는, 입력 영상의 특징 정보를 부호화 및 복호화 장치로서, 머신비전 네트워크(머신비전 시스템)에서의 특정 임무 수행을 위하여, 수신한 영상으로부터 추출된 특징 정보를 부호화한 다음 복호화하는 처리를 수행할 수 있다. 예를 들어, 영상 처리 장치(10)는, 수신한 영상으로부터 추출된 특징 정보를 소정의 방식으로 부호화하여 비트스트림을 생성하고 또한 부호화된 비트스트림을 복원함으로써, 머신비전 네트워크가 소정의 임무, 예컨대 객체 추적, 객체 인식, 영상 복원 등의 임무를 효과적으로 수행하는데 활용되는 영상 데이터를 출력할 수 있다.Referring to FIG. 1 , an image processing apparatus 10 encodes and decodes feature information of an input image, and features extracted from a received image to perform a specific task in a machine vision network (machine vision system). The process of encoding and then decoding the information can be performed. For example, the image processing apparatus 10 encodes the feature information extracted from the received image in a predetermined method to generate a bitstream and restores the encoded bitstream, so that the machine vision network performs a predetermined task, for example. Image data used to effectively perform tasks such as object tracking, object recognition, and image restoration can be output.
이를 위하여, 영상 처리 장치(10)는 적어도 수신기(receiver, 12), 메모리(memory, 14) 및 프로세서(processor, 16)를 포함한다. 실시 형태에 따라서, 영상 처리 장치(10)는 송신기(18)를 더 포함할 수도 있다. To this end, the image processing apparatus 10 includes at least a receiver 12 , a memory 14 , and a processor 16 . According to an embodiment, the image processing apparatus 10 may further include a transmitter 18 .
수신기(12)는 영상, 즉 동영상이나 정지 영상을 수신할 수 있다. 수신기(12)는 머신비전 네트워크에서 활용할 수 있는 영상의 원본을 수신하기 위한 것으로서, 촬상 장치에서 직접 촬영한 영상에 한정되지 않으며, 사전에 촬영되어 다른 통신 네트워크를 통해 전송된 영상이거나 또는 다른 저장 장치에 저장되어 있는 영상일 수도 있다. 수신기(12)가 수신한 영상은 프로세서(16)로 입력되거나 및/또는 메모리(14)에 저장된 후에 후에 프로세서(16)로 입력될 수 있다.The receiver 12 may receive an image, that is, a moving image or a still image. The receiver 12 is for receiving an original image that can be utilized in a machine vision network, and is not limited to an image directly captured by an imaging device, and is an image captured in advance and transmitted through another communication network or another storage device. It may be an image stored in . The image received by the receiver 12 may be input to the processor 16 and/or stored in the memory 14 and then input to the processor 16 .
메모리(14)는 수신기(12)가 수신한 영상 데이터의 일부 또는 전부를 저장한다. 실시 형태에 따라서는, 수신기(12)가 수신한 영상 데이터의 전부 또는 일부는 메모리(14)에 저장되지 않고 바로 프로세서(16)로 입력될 수도 있다. 그리고 메모리(14)는 프로세서(16)에서 처리가 완료되거나 또는 처리 중인 영상 데이터를 저장한다. 예를 들어, 메모리(14)는, 후술하는 프로세서(16)에서의 특징 맵의 전처리 중에 생성되는 메타데이터(meta data) 및/또는 전처리 관련 정보, 전처리의 결과 데이터 등을 저장할 수 있다. 그리고 메모리(14)는 후술하는 프로세서(16)의 부/복호화 과정 중에 생성되는 부호화된 특징 맵 데이터(비트스트림), 프로세서(16)가 비트스트림으로부터 복원한 특징 맵, 이들 특징 맵의 관련 데이터, 그리고 특징 맵으로부터 복원된 영상 데이터(예컨대, 머신비전 네트워크용 데이터) 등도 저장할 수 있다. The memory 14 stores some or all of the image data received by the receiver 12 . According to an embodiment, all or part of the image data received by the receiver 12 may be directly input to the processor 16 without being stored in the memory 14 . In addition, the memory 14 stores image data that has been processed or is being processed by the processor 16 . For example, the memory 14 may store metadata and/or preprocessing related information generated during preprocessing of the feature map in the processor 16 to be described later, preprocessing result data, and the like. In addition, the memory 14 includes encoded feature map data (bitstream) generated during the encoding/decoding process of the processor 16 to be described later, a feature map restored from the bitstream by the processor 16, related data of these feature maps, In addition, image data restored from the feature map (eg, data for a machine vision network) may be stored.
프로세서(16)는 수신기(12)가 수신한 영상 데이터 및/또는 메모리(14)에 저장되어 있는 영상 데이터를 처리하여, 머신비전 네트워크를 위한 영상 데이터를 생성한다. 프로세서(16)에서 생성되는 영상 데이터의 유형이나 종류 등은 머신비전 네트워크의 기능에 따라 달라질 수 있는데, 예컨대, 특징 정보의 압축 및 복원을 통해 복구된 영상 데이터이거나 및/또는 특징 정보를 압축하여 생성되는 비트스트림일 수도 있다. 전자의 경우, 머신비전 네트워크에서는 복원된 영상을 이용하여 특정 임무를 수행한다. 반면, 후자의 경우에는 머신비전 네트워크는 수신된 비트스트림으로부터 특징 정보를 복원한 후에, 이로부터 복원된 영상을 생성하여 특정 임무를 수행한다.The processor 16 processes the image data received by the receiver 12 and/or the image data stored in the memory 14 to generate image data for the machine vision network. The type or type of image data generated by the processor 16 may vary depending on the function of the machine vision network. For example, image data recovered through compression and restoration of feature information and/or generated by compressing feature information It may be a bitstream that becomes In the former case, the machine vision network performs a specific task using the restored image. On the other hand, in the latter case, the machine vision network performs a specific task by restoring the feature information from the received bitstream and then generating the restored image therefrom.
보다 구체적으로, 프로세서(16)는 수신기(12) 또는 메모리(14)로부터 입력되는 입력 영상으로부터 특징 정보를 추출한 다음, 추출된 특징 정보를 종래의 비디오 코덱 압축 기법을 적용하여 부호화(압축)함으로써, 비트스트림을 생성한다. 이 때, 프로세서(16)는 추출된 특징 정보를 영상화하여 압축한다. 그리고 프로세서(16)는, 종래의 비디오 코덱 압축 기법을 적용하기에 앞서 영상화된 특징 정보에 대하여 소정의 전처리를 수행함으로써, 후속되는 압축 과정에서 압축 효율을 향상시킬 수 있다. More specifically, the processor 16 extracts feature information from the input image input from the receiver 12 or the memory 14, and then encodes (compresses) the extracted feature information by applying a conventional video codec compression technique, Create a bitstream. At this time, the processor 16 compresses the extracted feature information into an image. In addition, the processor 16 may perform a predetermined pre-processing on the imaged feature information prior to applying the conventional video codec compression technique, thereby improving compression efficiency in the subsequent compression process.
그리고 프로세서(16)는 생성된 비트스트림을 복호화(decoding)하여 특징 맵을 복원할 수도 있다. 복호화 과정에서는 전술한 압축 과정에서 사용된 기존의 비디오 코덱의 부호화 기법에 대응되는 복호화 기법이 적용될 수 있다. 실시 형태에 따라서는, 프로세서(16)는 특징 정보를 복원한 이후에 복원된 특징 정보로부터 소정의 영상을 복원할 수도 있다. 그리고 필요한 경우에, 프로세서(16)는 복원된 특징 정보 또는 영상에 대하여 소정의 후처리(post processing)를 수행한다. In addition, the processor 16 may restore the feature map by decoding the generated bitstream. In the decoding process, a decoding technique corresponding to the coding technique of the existing video codec used in the above-described compression process may be applied. According to an embodiment, the processor 16 may restore a predetermined image from the restored feature information after restoring the feature information. And, if necessary, the processor 16 performs predetermined post processing on the restored feature information or image.
본 실시예에 의하면, 프로세서(16)에서의 특징 정보의 압축 및 복원 과정에서는, 전처리 과정에서 이용되거나 생성된 메타 데이터 및/또는 전처리 관련 정보(이하, ‘전처리 메타 데이터’라고 한다)가 활용된다. 보다 구체적으로, 프로세서(16)는 특징 정보에 대한 전처리 과정에서, 전처리 기법 자체나 이와 관련된 여러가지 정보(이하, ‘전처리 관련 정보’라 한다)를 전처리 메타 데이터로 생성할 수 있다. 그리고 생성된 전처리 메타 데이터는, 프로세서(16)에서의 전처리된 특징 정보의 압축 및/또는 복호화 과정에 활용될 수 있다. According to the present embodiment, in the process of compressing and restoring the feature information in the processor 16, meta data used or generated in the pre-processing process and/or pre-processing related information (hereinafter referred to as 'pre-processing meta data') are utilized. . More specifically, in the preprocessing of the feature information, the processor 16 may generate the preprocessing technique itself or various information related thereto (hereinafter referred to as 'preprocessing related information') as preprocessing metadata. In addition, the generated pre-processing metadata may be utilized in a compression and/or decoding process of the pre-processed feature information in the processor 16 .
송신기(18)는, 프로세서(16)에서 압축되었다가 복원된 특징 정보 또는 이로부터 복원된 영상 데이터(즉, 복원되거나 또는 후처리가 완료된 특징 정보 또는 영상 데이터)를, 머신비전 네트워크로 전송한다. 실시 형태에 따라서, 머신비전 네트워크는 영상 처리 장치(10)와는 별개의 시스템으로 구현되거나 또는 이와 일체로 구현될 수 있다. 후자의 경우에, 영상 처리 장치(10)에서 송신기(18)는 필요가 없으며, 프로세서(16)의 출력이 바로 머신비전 네트워크에로의 입력이 될 수 있다. 송신기(18)로부터 영상 데이터를 수신한 머신비전 네트워크는, 수신된 영상 데이터를 이용하여 소정의 임무, 예컨대 객체 추적, 객체 인식, 객체 분할, 영상 복원 등을 수행한다.The transmitter 18 transmits the feature information compressed and restored by the processor 16 or image data restored therefrom (ie, feature information or image data that has been restored or post-processed) to the machine vision network. According to an embodiment, the machine vision network may be implemented as a system separate from the image processing apparatus 10 , or may be implemented integrally therewith. In the latter case, there is no need for the transmitter 18 in the image processing apparatus 10 , and the output of the processor 16 may be directly input to the machine vision network. The machine vision network that has received the image data from the transmitter 18 uses the received image data to perform predetermined tasks, for example, object tracking, object recognition, object segmentation, image restoration, and the like.
도 2는 도 1의 프로세서(16)의 세부 구성의 일례를 도식적으로 보여 주는 블록도이다. 도 2를 참조하면, 프로세서(16)는 특징 추출부(102), 전처리부(104) 및 부/복호화부(106)를 포함한다. 실시 형태에 따라서, 프로세서(16)는 후처리부(108)를 더 포함할 수 있다. FIG. 2 is a block diagram schematically showing an example of a detailed configuration of the processor 16 of FIG. 1 . Referring to FIG. 2 , the processor 16 includes a feature extraction unit 102 , a preprocessing unit 104 , and an encoding/decoding unit 106 . Depending on the embodiment, the processor 16 may further include a post-processing unit 108 .
특징 추출부(102)는 입력 영상으로부터 특징 정보 또는 특징 맵을 추출한다. 전술한 바와 같이, 특징 정보는 특징 맵(feature map 또는 sparse map)이나 특징 벡터(feature vector), 은닉 벡터(latent vector) 등으로 불릴 수 있다. 이러한 특징 정보는 특징 추출기로부터 추출된 가능한 모든 형태가 될 수 있으며, 사용자/기기/네트워크 종류, 환경, 정의 중 적어도 하나 이상에 따라 정의될 수 있다.The feature extraction unit 102 extracts feature information or a feature map from the input image. As described above, the feature information may be referred to as a feature map or sparse map, a feature vector, a latent vector, or the like. Such feature information may be in all possible forms extracted from the feature extractor, and may be defined according to at least one of a user/device/network type, environment, and definition.
특징 추출부(102)가 입력 영상으로부터 특징 추출을 수행함에 있어서, 공지되어 있는 다양한 영상 처리 기반의 특징 추출 기법이 적용될 수 있다. 또는, 특징 추출부(102)는 딥러닝이나 머신러닝 기반의 특징 추출 기법 중에서 하나 이상의 기법을 이용하여 특징을 추출할 수도 있다. When the feature extraction unit 102 performs feature extraction from the input image, various well-known image processing-based feature extraction techniques may be applied. Alternatively, the feature extraction unit 102 may extract features by using one or more of deep learning or machine learning-based feature extraction techniques.
이와 같이, 특징 추출을 수행하는 주체는, 특징 추출부(102)의 구현예에 따라 달라질 수 있다. 예를 들어, 특징 정보는, 영상 복원, 객체 인식, 객체 검출, 객체 추적 등 적어도 하나 이상의 특정 임무를 수행하는 어플리케이션, 기기, 딥러닝 네트워크 자체 또는 딥러닝 네트워크 내부의 특징 추출부 중 적어도 하나 이상에 의해 추출될 수 있다. 이 경우에, 특징 추출을 수행하는데 있어서, 특징 추출을 목적으로 하는 영상 처리 기법, 딥러닝 네트워크, 특정 임무를 수행하기 위한 네트워크의 일부 네트워크, 특정 임무를 수행하기 위한 네트워크의 중간 단계 중 적어도 하나 이상의 방법이 이용될 수 있다.As such, a subject performing feature extraction may vary according to an embodiment of the feature extraction unit 102 . For example, the feature information is at least one of an application, a device, the deep learning network itself, or a feature extraction unit inside the deep learning network that performs at least one specific task such as image restoration, object recognition, object detection, and object tracking. can be extracted by In this case, in performing feature extraction, at least one or more of an image processing technique for the purpose of feature extraction, a deep learning network, a partial network of a network for performing a specific task, and an intermediate step of a network for performing a specific task method can be used.
도 3은 특정 임무를 수행하기 위한 네트워크에서, 딥러닝 기반으로 특징 추출을 수행하는 방법의 일례를 모식적으로 보여 주는 도면이다. 도 3을 참조하면, 특징 정보(특징 맵)은 백본 네트워크(backbone network) 또는 특징 추출기(feature extractor) 등에 의하여 영상 입력으로부터 추출된다. 그리고 추출된 특징 맵은 소정 형태의 영상(202)으로 표현될 수 있다. 또한, 이벨루에이션 네트워크(evaluation network) 또는 베리피케이션 네트워크(verification network) 등으로 표시되어 있는 머신비전 네트워크에서는, 소정의 임무(영상 복원, 객체 인식, 객체 추척, 객체 분류 등)를 수행하는데 추출된 특징 맵을 활용할 수 있다.3 is a diagram schematically showing an example of a method for performing feature extraction based on deep learning in a network for performing a specific task. Referring to FIG. 3 , feature information (feature map) is extracted from an image input by a backbone network or a feature extractor. In addition, the extracted feature map may be expressed as an image 202 of a predetermined shape. In addition, in a machine vision network indicated as an evaluation network or a verification network, etc., it is extracted to perform a predetermined task (image restoration, object recognition, object tracking, object classification, etc.) A feature map can be used.
특징 추출부(102)가 추출한 특징 정보를 표현하는 방법에는 특별한 제한이 없으며, 추출된 특징 정보는 다양한 방식으로 표현될 수 있다. 예컨대, 데이터의 종류, 크기, 네트워크의 종류, 크기, 네트워크 층의 종류, 크기 중 적어도 하나 이상에 따라서 추출된 특징 정보에 대한 표현은 달라질 수 있다.There is no particular limitation on a method of expressing the feature information extracted by the feature extraction unit 102, and the extracted feature information may be expressed in various ways. For example, the expression of the extracted feature information may vary according to at least one of data type, size, network type, size, network layer type, and size.
그리고 본 실시예의 일 측면에 의하면, 추출된 특징 맵은 일반 영상과 같은 상관성이 높은 데이터, 희소 데이터(sparse data), 밀집 데이터(dense data) 중 적어도 하나 이상의 특성을 갖는 데이터로 이루어질 수 있다. 이 경우에, 후출하는 전처리 방법은 추출된 특징 맵 데이터의 특성을 고려하여 적용될 수 있다.And, according to an aspect of the present embodiment, the extracted feature map may be formed of data having at least one characteristic among high correlation data such as a general image, sparse data, and dense data. In this case, the post-processing method may be applied in consideration of the characteristics of the extracted feature map data.
전처리부(104)는 특징 추출부(102)가 추출한 특징 정보에 대하여 소정의 전처리를 수행한다. 전처리부(104)는 추출된 특징 정보를 후속되는 압축 과정에서 압축을 수행하기 위한 형태로 변환한다. 이것은 부/복호화부(106)에서 특징 정보를 압축 및 복원하는데 적합한 형태로 특징 정보를 변환하기 위한 것으로, 전처리부(104)의 출력은, 변환 방법, 과정, 특징 정보의 형태, 크기 중 적어도 하나 이상에 의하여 달라질 수 있다. 일례로, 전처리부(104)의 출력은 1D, 2D, 3D 등이거나 정수 차원의 결과가 될 수 있으며, 입력과 대비하여 크기가 유지, 증가 또는 축소가 될 수 있다.The pre-processing unit 104 performs a predetermined pre-processing on the feature information extracted by the feature extracting unit 102 . The preprocessor 104 converts the extracted feature information into a form for performing compression in a subsequent compression process. This is to convert the feature information into a form suitable for compression and restoration of the feature information in the encoder/decoder 106, and the output of the preprocessor 104 is at least one of a conversion method, a process, a form, and a size of the feature information. It may vary according to the above. For example, the output of the preprocessor 104 may be 1D, 2D, 3D, or the like, or may be an integer-dimensional result, and may be maintained, increased, or reduced in size compared to the input.
전처리부(104)는 추출된 특징 정보를 다양한 방법을 적용하여 다른 형태로 변환할 수 있다. 예를 들어, 전처리부(104)는 정규화(nomalization), 스케일링(scaling), 재배열(reodering), 표현 비트 축소, 양자화(quantization) 및 필터링(filtering) 중에서 하나 이상의 방법을 적용하여 특징 정보를 변환할 수 있다. The preprocessor 104 may convert the extracted feature information into another form by applying various methods. For example, the preprocessor 104 transforms the feature information by applying one or more methods among normalization, scaling, reordering, expression bit reduction, quantization, and filtering. can do.
정규화를 이용한 특징 정보의 전처리 변환을 수행하는 구체적인 방법은 특별한 제한이 없는데, 예컨대 최대/최소값 정규화, 정규분포 정규화 등의 방법 중에서 하나 이상의 방법이 사용될 수 있다. 이 때, 정규화 파라미터들, 예컨대 최소값, 최대값, 특징값, 표준편차, 구간 정보 중 하나 이상의 값이나 정보 등은, 신택스(syntax), 시멘틱(semantic), 메타데이터(metadata) 등의 형태로 부/복화부(106)로 전달되어, 부/복호화에 사용될 수 있다. A specific method of performing preprocessing transformation of feature information using normalization is not particularly limited. For example, one or more methods among methods such as maximum/minimum value normalization and normal distribution normalization may be used. In this case, the normalization parameters, for example, the minimum value, the maximum value, the feature value, the standard deviation, and one or more values or information of the interval information, are added in the form of syntax, semantic, metadata, etc. It is transmitted to the /decryption unit 106 and can be used for encoding/decoding.
최대/최소값 정규화의 경우에, 특징 정보들 중에서 최대값과 최소값을 이용하여 특징 정보(특징값)를 정규화할 수 있다. 보다 구체적으로, 계산식 (특징값 - 최소값)/(최대값 - 최소값)을 이용하여 정규화가 수행될 수 있으며, 계산 결과에 따른 정규화 값은 0 ~ 1 사이가 될 수 있다. In the case of maximum/minimum value normalization, the feature information (feature value) may be normalized by using the maximum value and the minimum value among the feature information. More specifically, normalization may be performed using a calculation formula (feature value - minimum value)/(maximum value - minimum value), and a normalization value according to the calculation result may be between 0 and 1.
이 경우에, 특징 정보의 차원, 특성, 크기, 채널 수, 종류, 특징값의 데이터 유형(data type) 등에 따라서, 정규화의 적용 범위가 달라질 수 있다. 여기서, 특징 정보의 차원은 n차원, 채널의 채널 수는 C채널일 수 있으며, n과 C는 각각 1, 2, 3 등과 같이, 양의 정수 중에서 적어도 하나일 수 있다.In this case, the application range of the normalization may vary according to the dimension, characteristic, size, number, type, data type of the characteristic value, etc. of the characteristic information. Here, the dimension of the feature information may be n-dimensional, the number of channels may be C channels, and n and C may be at least one of positive integers, such as 1, 2, and 3, respectively.
일례로, 특징 정보의 형태가 3차원 형태, 즉 W×H×C (가로×세로×채널)의 형태라면, 채널 수 전체에 대한 최대/최소값을 이용하여 정규화를 수행할 수 있다. 다른 예로, 특징 정보의 형태가 3차원 형태, 즉 W×H×C (가로×세로×채널)의 형태라면, 각 채널에 대한 최대/최소값을 이용하여 정규화를 수행할 수도 있다. 또 다른 예로, 특징 정보의 형태가 n차원 형태이고 서로 다른 크기의 하나 이상의 특징값, 즉 F1=W1×H1×C1, F2=W2×H2×C2,···와 같이 다수의 특징값을 갖는다면, F1의 최대/최소값을 이용한 F1 정규화, F2의 최대/최소값을 이용한 F2 정규화 등과 같이, 특징값의 종류에 따른 최대/최소값을 이용하여 정규화할 수도 있다. 또 다른 예로, 특징 정보의 형태가 n차원 형태이고 서로 다른 크기의 하나 이상의 특징, 즉 F1=W1×H1×C1, F2=W2×H2×C2,···와 같이 다수의 특징값을 갖는다면, 특징값들 전체의 최대/최소값을 이용하여 정규화할 수도 있다.For example, if the shape of the feature information is a three-dimensional shape, that is, W×H×C (horizontal×vertical×channel), normalization may be performed using the maximum/minimum values for the entire number of channels. As another example, if the shape of the feature information is a three-dimensional shape, that is, W×H×C (horizontal×vertical×channel), normalization may be performed using the maximum/minimum values for each channel. As another example, the form of the feature information is an n-dimensional form, and one or more feature values of different sizes, that is, having multiple feature values such as F1 = W1 × H1 × C1, F2 = W2 × H2 × C2, ... In many cases, normalization may be performed using maximum/minimum values according to the types of feature values, such as F1 normalization using the maximum/minimum values of F1, F2 normalization using the maximum/minimum values of F2, and the like. As another example, if the form of feature information is an n-dimensional form and it has one or more features of different sizes, that is, a plurality of feature values such as F1=W1×H1×C1, F2=W2×H2×C2, ... , may be normalized using the maximum/minimum values of all feature values.
정규 분포 정규화의 경우에, 특징 정보의 평균/표준편차를 이용하여 정규화할 수도 있다. 평균/표준편차를 이용한 특징 정보의 정규 분포 정규화에 있어서, 정규화는 계산식 (특징값-평균)/(표준편차)로 수행할 수 있으며, 이 경우에는 특징값들이 표준편차가 1이 되는 정규분포 형태를 띄도록 정규화할 수 있다. 이 경우에, 정규화된 특징값(z)는 음수와 양수로 이루어져 있으며, z의 범위에 따라 발생 확률을 계산할 수 있다. 일례로, 정규화된 특징값(z)의 범위가 -1 ~ +1 사이의 발생 확률은 68%이고, 정규화된 특징값(z)의 범위가 -2 ~ +2 사이의 발생 확률은 95%일 수 있다. 이 경우에, 구간 사이의 발생 확률은 부/복호화부(106)에서의 엔트로피 부/복호화 과정에서 확률 모델로서 이용될 수도 있다.In the case of normal distribution normalization, normalization may be performed using the mean/standard deviation of feature information. In normalizing the normal distribution of feature information using the mean/standard deviation, the normalization can be performed by the formula (feature value-mean)/(standard deviation), and in this case, the feature values are normally distributed in the form of a standard deviation of 1. can be normalized so that In this case, the normalized feature value z consists of negative and positive numbers, and the occurrence probability can be calculated according to the range of z. For example, the probability of occurrence in the range of the normalized feature value (z) between -1 and +1 is 68%, and the probability of occurrence in the range of the normalized feature value (z) between -2 and +2 is 95%. can In this case, the occurrence probability between sections may be used as a probabilistic model in the entropy encoding/decoding process in the encoding/decoding unit 106 .
본 실시예의 일 측면에 의하면, 최대/최소값 정규화 또는 정규 분포 정규화을 통하여 구한 정규화된 특징값들을 m의 구간(m은 2이상의 정수)으로 나눌 수 있다. According to an aspect of the present embodiment, normalized feature values obtained through maximum/minimum value normalization or normal distribution normalization may be divided into an interval of m (m is an integer greater than or equal to 2).
예를 들어, m이 3인 경우에는, 정규화된 특징값이 특정 범위를 벗어나는 경우를 특이값으로 하여, 구간을 분류할 수 있다. 보다 구체적으로, 최대/최소값 정규화의 경우에, 정규화된 특징값이 0.2 이하 또는 0.8 이상인 경우를 특이값으로 간주하고, 3개의 구간, 즉 0.2 이하(제1 구간), 0.2~0.9(제2 구간) 및 0.8 이상(제3 구간)으로 정규화된 특징값들의 구간을 나눌 수 있다. 그리고, 정규 분포 정규화의 경우에, 도 4에 도시된 바와 같이, 정규화된 특징값이 -1 이하 또는 1 이상인 경우를 특이값으로 간주하고, 3개의 구간, 즉 -1 이하(제1 구간), -1~+1(제2 구간) 및 +1 이상(제3 구간)으로, 정규화된 특징값들의 구간을 나눌 수 있다.For example, when m is 3, a case in which the normalized feature value is out of a specific range may be regarded as a singular value, and the section may be classified. More specifically, in the case of maximum/minimum value normalization, the case where the normalized feature value is 0.2 or less or 0.8 or more is regarded as a singular value, and has three intervals, namely 0.2 or less (first interval), and 0.2 to 0.9 (second interval). ) and 0.8 or more (the third interval), the interval of normalized feature values may be divided. And, in the case of normal distribution normalization, as shown in FIG. 4 , the case where the normalized feature value is -1 or less or 1 or more is regarded as a singular value, and 3 sections, namely, -1 or less (first section), Sections of normalized feature values may be divided into -1 to +1 (second section) and +1 or more (third section).
다른 예로, 임의의 기준으로 구간을 나누어서, 구간을 분류할 수도 있다. 보다 구체적으로, m이 4인 경우에는, 최대/최소값 정규화의 경우에, 0.2, 0.5 및 0.8을 기준으로 구간을 나눌 수 있다. 이 경우에, 정규화된 특징값이 0.2 이하일 경우에는 구간 1, 0.2 이상 0.5 이하일 경우에는 구간 2, 0.5 이상 0.8 이하일 경우에는 구간 3 그리고 0.8 이상일 경우에는 구간 4와 같이, 구간을 분류할 수 있다. 그리고 정규 분포 정규화의 경우에, 정규화된 특징값이 -1 이하일 경우에는 구간 1, -1 이상 0 이하일 경우에는 구간 2, 0 이상 1 이하일 경우에는 구간 3 그리고 1 이상일 경우에는 구간 4와 같이, 구간을 분류할 수 있다.As another example, the sections may be classified by dividing the sections based on arbitrary criteria. More specifically, when m is 4, in the case of maximum/minimum value normalization, intervals may be divided based on 0.2, 0.5, and 0.8. In this case, the section can be classified as section 1 when the normalized feature value is 0.2 or less, section 2 when it is 0.2 or more and 0.5 or less, section 3 when it is 0.5 or more and 0.8 or less, and section 4 when it is 0.8 or more. And in the case of normal distribution normalization, as in section 1 when the normalized feature value is -1 or less, section 2 when it is -1 or more and 0 or less, section 3 when it is 0 or more and 1 or less, and section 4 when it is 1 or more. can be classified.
이 경우에, 지정된 구간의 수와 구간의 확률 중에서 하나 이상에 기초하여, 지정된 구간을 n-비트(n은 양의 정수)로 표현할 수 있다. 그리고 표현된 구간 정보는 이진화, 엔트로피 부호화 중 하나 이상의 방법을 이용하여 부호화할 수 있다. 예를 들어, 4개의 구간으로 나눠진 경우에, 구간 정보는 2-비트로 표현될 수 있는데, 1구간은 00, 2구간은 01, 3구간은 10 그리고 4구간은 11로 이진화하여 표현할 수 있다. 그리고 이러한 이진화된 표현(해당 bin)은 엔트로피 부호화될 수 있다. 또는, 4개의 구간으로 나눠진 경우에, 허프만 코딩(Huffman coding)을 통해 확률에 기초하여 각 구간에 적절한 bin을 부여할 수 있는데, 예컨대 확률이 가장 높은 구간은 0, 다음으로 확률이 높은 구간은 10, 그 다음으로 확률이 높은 구간은 110, 마지막으로 확률이 가장 낮은 구간은 111 등의 형태로 표현할 수 있다.In this case, the designated section may be expressed with n-bits (n is a positive integer) based on at least one of the number of the designated sections and the probability of the sections. In addition, the expressed section information may be encoded using one or more methods of binarization and entropy encoding. For example, when divided into 4 sections, section information can be expressed as 2-bits. Section 1 can be expressed by binarizing 00, section 2 with 01, section 3 with 10, and section 4 with 11. And this binarized representation (corresponding bin) can be entropy-encoded. Alternatively, when divided into four sections, an appropriate bin may be assigned to each section based on a probability through Huffman coding. For example, the section with the highest probability is 0, and the section with the next highest probability is 10. , the section with the next highest probability can be expressed in the form of 110, and finally, the section with the lowest probability can be expressed in the form of 111.
이와 같이, 구간이 나눠진 경우에, 각 구간에서 대표값을 지정하여 n-비트 심볼맵을 형성할 수 있다. 이 경우에, 대표값은 양의 정수, 구간별 평균값, 구간별 최대값 또는 최소값 중에서 적어도 하나 이상의 값으로 지정할 수 있다. 도 5는 전처리된 특징 맵을 n-비트 심볼맵으로 표현한 일례를 보여 주는 도면으로서, 8비트의 특징값을 3개의 심볼(3개의 픽셀)로 표현한 것이다. In this way, when the section is divided, an n-bit symbol map can be formed by designating a representative value in each section. In this case, the representative value may be designated as at least one of a positive integer, an average value for each section, and a maximum value or a minimum value for each section. 5 is a view showing an example in which a preprocessed feature map is expressed as an n-bit symbol map, in which an 8-bit feature value is expressed by three symbols (three pixels).
이와는 달리, 8비트의 특징값이 정규화를 통해 4개의 구간으로 나눠지고 또한 해당 구간에 대표값을 0, 1, 2, 3으로 지정할 경우에, 구간 1=0, 구간 2=1, 구간 3=2, 구간 4=3과 같이 지정하여 2비트 심볼 맵을 형성할 수 있다. 또는 8비트의 특징값이 정규화를 통해 4개의 구간으로 나눠지고 또한 해당 구간에 대표값을 0, 1, 2, 3으로 지정할 경우에, 구간 1=구간 1의 평균, 구간 2=구간 2의 평균, 구간 3=구간 3의 평균, 구간 4=구간 4의 평균과 같이 지정하여 2비트 심볼 맵을 형성할 수 있다.On the other hand, when an 8-bit feature value is divided into 4 sections through normalization and representative values are designated as 0, 1, 2, 3 in the corresponding section, section 1=0, section 2=1, section 3= A 2-bit symbol map can be formed by designating as 2, section 4=3. Alternatively, when an 8-bit feature value is divided into 4 sections through normalization and representative values are designated as 0, 1, 2, 3 for the corresponding section, section 1 = average of section 1, section 2 = average of section 2 , section 3 = average of section 3, section 4 = average of section 4 can be specified to form a 2-bit symbol map.
정규화된 특징값이 복수의 구간으로 나누어지고 또한 각 구간이 이진화되어 표현될 경우에, 빈(bin)의 순서에 따라 하나 이상의 이진 맵을 형성할 수도 있다. 도 6은 이러한 이진 맵의 일례를 보여 주는 것이다. 도 6을 참조하면, 특징값들은 4개의 구간, 즉 0~5의 1구간, 5~10의 2구간, 10~15의 3구간, 15~20의 4구간으로 나눠지면, 각 구간에는 각각 2비트, 예컨대 1구간에는 10, 2구간에는 00, 3구간에는 01, 4구간에는 11이 할당되어 2-비트 심볼 맵을 형성하는데, 이러한 2-비트 심볼 맵은 첫 번째 빈(1st bin)인 0, 0, 1, 1을 이용한 이진 맵을 구성하고, 또한 두 번째 빈(2nd bin)인 0, 1, 0, 1을 이용한 이진 맵을 구성할 수 있다. When the normalized feature value is divided into a plurality of sections and each section is expressed as binarized, one or more binary maps may be formed according to the order of bins. 6 shows an example of such a binary map. Referring to FIG. 6 , the feature values are divided into 4 sections, that is, 1 section of 0-5, 2 sections of 5-10, 3 sections of 10-15, and 4 sections of 15-20, each section has 2 Bits, for example, 10 in section 1, 00 in section 2, 01 in section 3, and 11 in section 4 are assigned to form a 2-bit symbol map. A binary map using , 0, 1, and 1 can be constructed, and a binary map using 0, 1, 0, and 1, which is the second bin, can be constructed.
계속해서 도 2를 참조하면, 전처리부(104)는 스케일링 또는 양자화를 이용하여 전처리를 수행할 수도 있는데, 이 경우에 m-비트 스케일링 또는 양자화를 수행할 수 있다. 이 때, 스케일링 파라미터들 또는 양자화 파라미터들, 구간 정보, 특이값 정보, 범위 정보 중에서 하나 이상의 값이나 정보 등은, 신택스(syntax), 시멘틱(semantic), 메타데이터(metadata) 등의 형태로 부/복화부(106)로 전달될 수 있다.Continuing to refer to FIG. 2 , the preprocessing unit 104 may perform preprocessing using scaling or quantization. In this case, m-bit scaling or quantization may be performed. In this case, one or more values or information among scaling parameters or quantization parameters, interval information, singular value information, and range information may be included in the form of syntax, semantic, metadata, etc. It may be transmitted to the abdomen 106 .
전처리부(104)가 m-비트 스케일링 또는 양자화를 수행함에 있어서, 부/복호화부(106)에서 부호화 또는 복호화를 수행하기에 적합한 크기의 비트로 스케일링 또는 양자화를 수행할 수 있다. 일례로, 부/복호화부(106)에서 종래의 비디오 코덱을 이용하여 부호화 또는 복호화를 하는 경우에는, 종래의 비디오 코덱의 입력으로 적합한 8-10비트 영상으로 스케일링 또는 양자화를 수행할 수 있다. 만일, 특징값이 32-비트 부동소수점 데이터 타입을 갖는다면, 8비트 또는 10비트의 부호 없는 정수형으로 스케일링 또는 양자화를 수행할 수 있다. 이 경우에, 부호 없는 정수형으로 변환하기 위하여, 위에서 설명한 정규화 방법이 수행될 수도 있다.When the preprocessor 104 performs m-bit scaling or quantization, the encoder/decoder 106 may perform scaling or quantization with bits having a size suitable for encoding or decoding. For example, when encoding or decoding is performed by the encoder/decoder 106 using a conventional video codec, scaling or quantization may be performed with an 8-10 bit image suitable as an input of the conventional video codec. If the feature value has a 32-bit floating-point data type, scaling or quantization can be performed in an 8-bit or 10-bit unsigned integer type. In this case, in order to convert to an unsigned integer type, the normalization method described above may be performed.
본 실시예에 의하면, 특징 맵을 양자화하여 전처리하는 방법에는 특별한 제한이 없다. 예컨대, 벡터 양자화, 균등 양자화, 비균등 양자화 중에서 하나 이상의 양자화 방법을 사용하여 양자화를 수행할 수 있다. According to the present embodiment, there is no particular limitation on a method of quantizing and preprocessing the feature map. For example, quantization may be performed using one or more quantization methods among vector quantization, uniform quantization, and non-uniform quantization.
예를 들어, 특이값이 아닌 요소(특징값)들에 대해서는 상대적으로 큰 양자화 파라미터를 사용하여 양자화를 수행하고, 특이값에 해당하는 요소(특징 값)들에 대해서는 상대적으로 작은 양자화 파라미터를 사용하여 양자화를 수행할 수 있다. 반대로, 특이값이 아닌 요소(특징 값)들에 대해서는 상대적으로 작은 양자화 파라미터를 사용하여 양자화를 수행하고, 특이값에 해당하는 요소(특징 값)들에 대해서는 상대적으로 큰 양자화 파라미터를 사용하여 양자화를 수행해도 된다. For example, elements (feature values) that are not singular values are quantized using relatively large quantization parameters, and elements (feature values) corresponding to singular values are quantized using relatively small quantization parameters. Quantization can be performed. Conversely, elements (feature values) that are not singular values are quantized using relatively small quantization parameters, and elements (feature values) corresponding to singular values are quantized using relatively large quantization parameters. You can do it.
또는, 특징 값의 범위에 따라서 양자화 파라미터를 다르게 하면서 일정한 간격으로 양자화를 수행해도 된다. 이와는 달리, 특징 값의 범위에 따라서 양자화 파라미터를 다르게 하되, 일정하지 않은 간격으로 양자화를 수행해도 된다. 후자의 경우에, 양자화 대상의 양자화 오류를 최소로하는 양자화 구간을 구하여 양자화 구간을 정할 수 있는데, 이 경우에는 양자화 구간에 대한 정보도 메타데이터(또는, 신택스나 시맨틱)에 포함되어 부/복호화부(106)로 전송될 수 있다.Alternatively, quantization may be performed at regular intervals while varying the quantization parameter according to the range of the feature value. Alternatively, the quantization parameter may be varied according to the range of the feature value, but quantization may be performed at irregular intervals. In the latter case, the quantization section can be determined by obtaining a quantization section that minimizes the quantization error of the quantization target. may be sent to (106).
실시 형태에 따라서는, 전처리부(104)는 특징 정보(특징 맵)의 재배열을 이용하여 전처리를 수행할 수 있는데, 이 경우에는 평균, 분산, 히스토그램, 방향성 중에서 적어도 하나 이상의 방법을 이용할 수 있다. 이 때, 재배열과 관련된 정보들, 예컨대 복호화에 필요한 재배열 정보, 재배열 인덱스, 재배열 순서, 평균, 분산, 히스토그램, 방향성 중에서 하나 이상의 값이나 정보 등은, 신택스(syntax), 시멘틱(semantic), 메타데이터(metadata) 등의 형태로 부/복화부(106)로 전달될 수 있다.Depending on the embodiment, the pre-processing unit 104 may perform pre-processing by using rearrangement of feature information (feature map). In this case, at least one or more methods among average, variance, histogram, and direction may be used. . In this case, information related to rearrangement, for example, one or more values or information among rearrangement information, rearrangement index, rearrangement order, average, variance, histogram, and direction required for decoding, is a syntax, semantic , may be transmitted to the decoder/decoder 106 in the form of metadata.
일 측면에 의하면, 평균/분산을 이용한 재배열을 수행함에 있어서, 특징 정보의 채널, 영역, 라인 중에서 하나 이상의 단위로 재배열을 수행할 수 있다. 이 경우에, 평균과 분산 중에서 하나 이상의 값을 이용할 수 있다. According to an aspect, in performing the rearrangement using the mean/variance, the rearrangement may be performed in one or more units of channels, regions, and lines of feature information. In this case, one or more values of mean and variance may be used.
예를 들어, 특징이 다채널로 이루어진 경우에, 각 채널의 평균과 분산 중에서 하나 이상을 계산하여, 오름차순 또는 내림차순으로 특징의 채널을 재배열할 수 있다. 또는, 특징이 다채널로 이루어진 경우에, 각 채널의 평균과 분산 중에서 하나 이상을 계산하여, 오름차순 또는 내림차순으로 2D 형태로 재배열할 수도 있다. For example, when a feature consists of multiple channels, one or more of the average and variance of each channel may be calculated, and channels of the feature may be rearranged in ascending or descending order. Alternatively, when a feature consists of multiple channels, one or more of the average and variance of each channel may be calculated and rearranged in an ascending or descending order in a 2D form.
다른 예로, 특징이 다양한 영역으로 나타나는 경우, 각 영역의 평균, 분산 중에서 하나 이상을 계산하여, 오름차순 또는 내림차순으로 특징의 채널을 재배열할 수도 있다. 또는, 특징이 다수의 라인을 갖는 경우, 각 라인의 평균, 분산 중에서 하나 이상을 계산하여, 오름차순 또는 내림차순으로 특징의 채널을 재배열할 수도 있다.As another example, when features appear in various regions, the channels of the features may be rearranged in ascending or descending order by calculating one or more of the average and variance of each region. Alternatively, when a feature has a plurality of lines, one or more of the average and variance of each line may be calculated, and channels of the feature may be rearranged in ascending or descending order.
또 다른 예로, 평균과 분산 중에서 하나 이상을 계산하고 또한 이에 기초하여 각 채널간의 상관성을 도출하여, 상관성이 높은 순서로 재배열할 수도 있다. 이 경우에, 재배열에 사용된 정보는 비디오 부호화에 있어서, 시간적 부/복호화에 사용될 수 있으며, 하나의 예로써 시간적 부/복호화에 사용되는 GOP(Group Of Pictures)의 단위를 특징에 맞게 조절할 수 있다. 즉, 효율적인 비디오 부호화를 위해, 상관성이 높은 특징 채널간의 부보화를 수행할 수 있으며, 복호화기에서는 부호화기에서 전송된 정보를 복호화한다.As another example, one or more of the mean and variance may be calculated, and correlations between channels may be derived based on the calculations and rearranged in the order of high correlation. In this case, the information used for rearrangement may be used for temporal encoding/decoding in video encoding, and as an example, the unit of a group of pictures (GOP) used for temporal encoding/decoding may be adjusted according to a characteristic. . That is, for efficient video encoding, sub-coding may be performed between feature channels having high correlation, and the decoder decodes information transmitted from the encoder.
다른 측면에 의하면, 히스토그램을 재배열을 수행함에 있어서, 특징 정보의 채널, 영역, 라인 중에서 하나 이상의 단위로 재배열을 수행할 수 있다. 예를 들어, 특징 값들의 히스토그램을 형성하고, 각 채널의 평균, 분산 등 대표할 수 있는 값과 히스토그램의 상관관계를 이용하여 재배열을 수행할 수 있다. 또는, 특징 값들의 히스토그램을 형성하고, 자주 발생하는 특징 값과 자주 발생하지 않는 특징 값을 구분하여 재배열을 수행할 수도 있다. According to another aspect, in rearranging the histogram, the rearrangement may be performed in one or more units of channels, regions, and lines of feature information. For example, a histogram of feature values may be formed, and rearrangement may be performed using a correlation between the histogram and a representative value such as the average and variance of each channel. Alternatively, a histogram of feature values may be formed, and rearrangement may be performed by distinguishing between frequently occurring feature values and infrequently occurring feature values.
또 다른 측면에 의하면, 방향성을 이용한 재배열을 수행함에 있어, 특징 정보의 채널, 영역, 라인 중에서 하나 이상의 단위로 재배열을 수행할 수 있다. 예를 들어, 각 채널의 기울기(gradient)를 이용하여 방향성을 정의하고, 비슷한 방향성끼리의 재배열을 수행할 수도 있다.According to another aspect, in performing the rearrangement using the directionality, the rearrangement may be performed in one or more units of channels, regions, and lines of feature information. For example, the directionality may be defined using the gradient of each channel and rearrangement of similar directions may be performed.
이상에서 설명한 어느 하나의 방법으로 재배열을 수행한 경우에, 재배열된 특징 정보는 적용된 재배열 방법의 특성에 따라서, 스케일링 또는 양자화를 수행할 수 있다.When rearrangement is performed by any one of the methods described above, scaling or quantization may be performed on the rearranged feature information according to the characteristics of the applied rearrangement method.
실시 형태에 따라서는, 전처리부(104)는 변환 기법을 이용하여 전처리를 수행할 수 있다. 예를 들어, 변환 기법으로는 PCA(Principal Component Analysis), KLT(Karhunen-Loeve Transform), DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), FFT(Fast Fourier Transform), FT (Fourier Transform) 중에서 하나 이상의 방법이 적용될 수 있다. According to an embodiment, the preprocessor 104 may perform the preprocessing using a conversion technique. For example, as a transformation technique, among Principal Component Analysis (PCA), Karhunen-Loeve Transform (KLT), Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Fast Fourier Transform (FFT), and Fourier Transform (FT) More than one method may be applied.
이러한 변환 기법은, 정규화 등을 포함하는 전술한 전처리 방법들을 먼저 적용한 후에 적용하는 것도 가능하다. 예를 들어, 정규화 및/또는 양자화를 이용한 전처리를 수행한 다음, PCA 변환 기법을 적용하여 입력 데이터의 크기나 종류 등을 감소시킬 수도 있다. Such a transformation technique may be applied after first applying the above-described pre-processing methods including normalization. For example, after performing preprocessing using normalization and/or quantization, the size or type of input data may be reduced by applying a PCA transformation technique.
전술한 바와 같이, 전처리부(104)에서의 전처리 과정과 관련되는 변수 및/또는 정보(즉, 전처리 관련 데이터)는, 복호화를 위한 신택스, 시멘틱, 메타데이터 등의 형태로 전처리의 결과물로 생성될 수 있다. 그리고 이러한 전처리 관련 데이터도 이진화, 엔트로피 부호화 중 하나 이상의 방법으로 부호화될 수 있다(실시 형태에 따라서, 이러한 전처리 관련 데이터의 부호화는 전처리부(104)에서 수행되거나 또는 부/복호화부(106)에서 수행될 수도 있다). As described above, variables and/or information related to the pre-processing in the pre-processing unit 104 (ie, pre-processing related data) may be generated as a result of the pre-processing in the form of syntax, semantics, metadata, etc. for decoding. can In addition, such preprocessing-related data may also be encoded by one or more methods of binarization and entropy encoding (according to the embodiment, the encoding of such preprocessing-related data is performed by the preprocessor 104 or the encoding/decoding unit 106) could be).
이진화를 수행함에 있어서, 다음의 이진화 기법 중에서 하나 이상의 기법이 사용될 수 있다. 사용될 수 있는 이진화 기법은, 절삭된 라이스(Truncated Rice) 이진화 방법, K차수 지수-골룸(k-th order Exponential golomb) 이진화 방법, 제한된 k차수 지수-골룸 이진화 방법, 고정 길이(fixed-length)이진화 방법, 단항(unary) 이진화 방법, 절삭된 단항(truncated unary) 이진화 방법, 절삭된 이진(truncated binary) 이진화 방법 등일 수 있는데, 여기에만 한정되는 것은 아니다.In performing binarization, one or more of the following binarization techniques may be used. The binarization techniques that can be used include a truncated rice binarization method, a k-th order Exponential golomb binarization method, a limited k-order exponential-Golomb binarization method, and a fixed-length binarization method. method, a unary binarization method, a truncated unary binarization method, a truncated binary binarization method, etc., but is not limited thereto.
엔트로피 부호화는, 전술한 전처리 관련 데이터는 물론 이진화를 통해서 발생한 이전 정보에 대해서도 수행할 수 있다. 이러한 엔트로피 부호화는, Run-length 부호화, Huffman 부호화, 산술 부호화(arithmetic coding), 문맥기반 적응적 이진 산술 부호화(CABAC, Context-Adaptive Binary Arithmetic Coding), 문맥기반 적응적 가변길이 부호화(CAVLC, Context-Adaptive Variable Length Coding), 우회 부호화(Bypass coding) 중의 하나 이상의 기법이 적용될 수 있는데, 이것은 단지 예시적인 것이다.Entropy encoding may be performed not only on the aforementioned preprocessing-related data, but also on previous information generated through binarization. Such entropy encoding includes Run-length encoding, Huffman encoding, arithmetic coding, context-based adaptive binary arithmetic coding (CABAC, Context-Adaptive Binary Arithmetic Coding), and context-based adaptive variable length coding (CAVLC, Context- One or more of Adaptive Variable Length Coding and Bypass coding may be applied, and this is merely exemplary.
부/복호화부(106)는 전처리된 특징 정보와, 메타데이터 등의 전처리 관련 정보에 대한 부호화와 복호화를 수행한다. 본 실시예에 의하면, 부/복호화부(106)에서 적용하는 기법에는 특별한 제한이 없으며, 기존의 영상 압축 표준에서의 부/복호화 기법은 물론, 앞으로 개발되거나 채택될 부/복호화 기법이 적용될 수도 있는데, 이에 대해서는 후술한다. The encoding/decoding unit 106 encodes and decodes pre-processed feature information and pre-processing related information such as metadata. According to this embodiment, there is no particular limitation on the technique applied by the encoding/decoding unit 106, and the encoding/decoding method in the existing image compression standard as well as the encoding/decoding method to be developed or adopted in the future may be applied. , which will be described later.
실시 형태에 따라서는, 부/복호화부(106)의 부호화부는 전술한 특징 추출부(102)를 포함할 수도 있다. 일례로, 딥러닝 기반의 특징 추출부(102)의 경우에 하나 이상의 합성곱층(convolutional layer), 완전 연결층(fully connected layer)이 포함될 수 있다. 이 때, 합성곱층을 위한 필터는 특징의 종류, 학습 형태, 크기 등 중에서 하나 이상에 따라 변화될 수 있으며, 하나 이상의 계수가 정의될 수 있다. 그리고 완전연결층을 위한 필터는 특징의 종류, 학습 형태, 입력의 개수, 크기 등 중에서 하나 이상에 따라 변화될 수 있으며, 하나 이상의 계수가 정의될 수 있다. According to an embodiment, the encoder of the encoder/decoder 106 may include the above-described feature extractor 102 . For example, in the case of the deep learning-based feature extraction unit 102, one or more convolutional layers and fully connected layers may be included. In this case, the filter for the convolutional layer may be changed according to one or more of a type of a feature, a learning form, a size, and the like, and one or more coefficients may be defined. In addition, the filter for the fully connected layer may be changed according to one or more of the type of feature, the learning form, the number of inputs, the size, and the like, and one or more coefficients may be defined.
그리고 부/복호화부(106)의 복호화부는 학습 기반의 압축, 머신 비전 네트워크로 구성된 경우에 하나 이상의 합성곱층, 완전연결층이 포함될 수 있다. 이 때, 합성 곱층을 위한 필터는 특징의 종류, 학습 형태, 크기 등 중에서 하나 이상에 따라 변화될 수 있으며, 하나 이상의 계수가 정의될 수 있다. 그리고 완전연결층을 위한 필터는 특징의 종류, 학습 형태, 입력의 개수, 크기 등 중에서 하나 이상에 따라 변화될 수 있으며, 하나 이상의 계수가 정의될 수 있다.In addition, the decoding unit of the encoding/decoding unit 106 may include one or more convolutional layers and fully connected layers when a learning-based compression and machine vision network is configured. In this case, the filter for the synthetic product layer may be changed according to one or more of a feature type, a learning form, a size, and the like, and one or more coefficients may be defined. In addition, the filter for the fully connected layer may be changed according to one or more of the type of feature, the learning form, the number of inputs, the size, and the like, and one or more coefficients may be defined.
본 발명의 실시 형태에 의하면, 부/복호화부(106)로 입력되는 특징의 형태는, kD 차원의 형태일 수 있다. 여기서, k는 1, 2, 3, ··· 등과 같은 양의 정수일 수 있다. 예를 들어, k가 1인 경우(1D 차원)의 입력 특징은, 특징 벡터, 은닉 벡터 등일 수 있다. k가 2인 경우(2D 차원)의 입력 특징은, 가로, 세로 길이를 갖는 프레임 형태일 수 있다. k가 3인 경우(3D 차원)의 입력 특징은, 가로, 세로, 채널을 갖는 형태일 수 있다. 또는, k가 3인 경우(3D 차원)의 입력 특징은, 가로, 세로, 시간을 갖는 형태일 수 있다.According to the embodiment of the present invention, the shape of the feature input to the encoding/decoding unit 106 may be in the form of a kD dimension. Here, k may be a positive integer such as 1, 2, 3, ..., and the like. For example, when k is 1 (1D dimension), the input feature may be a feature vector, a hidden vector, or the like. When k is 2 (2D dimension), the input feature may be in the form of a frame having horizontal and vertical lengths. When k is 3 (3D dimension), the input feature may have a horizontal, vertical, and channel shape. Alternatively, when k is 3 (3D dimension), the input feature may have a horizontal, vertical, and time form.
부/복호화부(106)에서 특징 정보를 부/복호화함에 있어서, 샘플, 라인, 블록, 프레임 중 적어도 하나 이상의 단위로 부/복호화를 수행할 수 있다. 이 때, 입력되는 특징의 형태, 크기, 차원 중 적어도 하나 이상에 따라 샘플, 라인, 블록, 프레임 중 적어도 하나 이상의 단위로 부/복호화를 수행할 수 있다.When the encoding/decoding unit 106 encodes/decodes the feature information, encoding/decoding may be performed in units of at least one of a sample, a line, a block, and a frame. In this case, encoding/decoding may be performed in units of at least one of a sample, a line, a block, and a frame according to at least one of the shape, size, and dimension of the input feature.
이 경우에, 부호화 단위에 따라 해당 단위에 대한 정보도 함께 부호화될 수 있으며, 부호화된 정보는 복호화되어 복호화에 활용될 수 있다. 예를 들어, 블록 단위의 부/복호화를 수행할 경우에, 블록의 크기, 분할, 모양 중에서 하나 이상의 정보를 부호화할 수 있으며, 또한 부호화된 정보는 복호화되어 특징 정보의 복호화에 활용될 수 있다. 다른 예로, 라인 단위로 부/복호화를 수행할 경우에, 라인의 길이, 개수, 모양 중에서 하나 이상의 정보를 부호화할 수 있으며, 또한 부호화된 정보는 복호화되어 특징 정보의 복호화에 활용될 수 있다. 또 다른 예로, 프레임 단위로 부/복호화를 수행할 경우에, 프레임의 모양, 크기, 개수, 분할 정보 중에서 하나 이상의 정보를 부호화할 수 있으며, 또한 부호화된 정보는 복호화되어 특징 정보의 복호화에 활용될 수 있다. In this case, information on a corresponding unit may also be encoded according to a coding unit, and the encoded information may be decoded and used for decoding. For example, when encoding/decoding is performed in units of blocks, one or more pieces of information among a size, division, and shape of a block may be encoded, and the encoded information may be decoded and utilized for decoding of feature information. As another example, when encoding/decoding is performed on a line-by-line basis, one or more pieces of information among the length, number, and shape of a line may be encoded, and the encoded information may be decoded and utilized for decoding of feature information. As another example, when encoding/decoding is performed on a frame-by-frame basis, one or more pieces of information among frame shape, size, number, and division information may be encoded, and the encoded information may be decoded to be utilized for decoding of feature information. can
부/복호화부(106)에서 특징 정보를 부/복호화함에 있어, 예측 기반의 부/복호화를 수행할 수도 있다. 이러한 예측 부/복호화에는 샘플, 라인, 블록, 프레임 중에서 하나 이상의 단위로 예측이 수행될 수 있다. When the encoding/decoding unit 106 encodes/decodes the feature information, prediction-based encoding/decoding may be performed. In this prediction encoding/decoding, prediction may be performed in units of one or more of samples, lines, blocks, and frames.
실시 형태에 따라서는, 부/복호화부(106)에서 예측 기반의 부/복호화를 수행할 경우에, 특징 정보의 데이터 특성에 따라 예측 방법이 달라질 수 있다. 예측 방법으로는, 공간적 예측, 시간적 예측, 채널적 예측 중에서 하나 이상의 방법이 이용될 수 있다. According to an embodiment, when the encoding/decoding unit 106 performs prediction-based encoding/decoding, a prediction method may vary according to data characteristics of feature information. As the prediction method, at least one of spatial prediction, temporal prediction, and channel prediction may be used.
공간적 예측의 경우에, 이미 부/복호화된 주변 샘플 또는 예측치로부터 부호화 단위에 따라 예측을 수행할 수 있다. 이 때, 주변 샘플은 현재 부호화 단위에 인접한 샘플이거나 또는 인접하지 않지만 소정의 규칙에 따라 특정되는 주변 샘플일 수 있다. 이러한 주변 샘플은 하나의 샘플이거나 또는 샘플의 집합일 수도 있다. 공간적 예측을 적용할 경우, 현재 부호화 단위의 신호가 감소될 수 있다.In the case of spatial prediction, prediction may be performed according to coding units from previously encoded/decoded neighboring samples or prediction values. In this case, the neighboring sample may be a sample adjacent to the current coding unit or a neighboring sample that is not adjacent to the current coding unit, but is specified according to a predetermined rule. Such a neighboring sample may be one sample or a set of samples. When spatial prediction is applied, the signal of the current coding unit may be reduced.
공간적 예측에서 이미 부/복호화된 주변 샘플로부터 부호화 단위에 따라 예측을 수행하는 경우, 방향성 예측, 템플릿(template) 예측, 사전(dictionary) 예측, 매트릭스 곱 예측 중에서 하나 이상의 기법을 이용하여 예측을 수행할 수 있다. 보다 구체적으로, 방향성 예측의 경우에, 이미 부/복호화된 주변 샘플을 이용하여 방향에 따라 주변 샘플을 복사하거나 또는 보간을 하여, 현재 단위(예컨대, 블록)의 예측을 수행할 수 있다. 템플릿 예측의 경우에는, 이미 부/복호화된 주변 샘플들로부터 현재 예측 단위와 가장 유사한 템플릿을 탐색하여 예측을 수행할 수 있다. 사전 예측의 경우에는, 이미 부/복호화딘 주변 샘플 또는 단위의 예측 블록을 별도의 메모리에 저장하여, 현재 단위의 예측을 별도의 메모리에 저장된 정보(샘플 또는 블록)로부터 수행할 수 있다. 그리고 매트릭스 곱 예측의 경우에는, 이미 부/복호화된 주변 샘플과 임의이 매트릭스의 곱으로 현재 단위의 예측을 수행할 수 있다.In spatial prediction, when prediction is performed according to coding units from neighboring samples already encoded/decoded, prediction can be performed using one or more of directional prediction, template prediction, dictionary prediction, and matrix multiplication prediction. can More specifically, in the case of directional prediction, prediction of a current unit (eg, a block) may be performed by copying or interpolating a neighboring sample according to a direction using an already encoded/decoded neighboring sample. In the case of template prediction, prediction may be performed by searching for a template most similar to the current prediction unit from previously encoded/decoded neighboring samples. In the case of pre-prediction, prediction blocks of neighboring samples or units that have already been encoded/decoded are stored in a separate memory, and prediction of the current unit can be performed from information (samples or blocks) stored in the separate memory. And in the case of matrix product prediction, prediction of the current unit may be performed by multiplying the already encoded/decoded neighboring samples and an arbitrary matrix.
시간적 예측의 경우에, 시간적으로 전방 프레임 및/또는 후방 프레임으로부터 부호화 단위에 대응하는 크기로, 현재 단위에 대한 예측을 수행할 수 있다. In the case of temporal prediction, the current unit may be predicted from a temporally front frame and/or a rear frame with a size corresponding to the coding unit.
채널적 예측의 경우에, 특징 정보가 다채널 형태를 가질 때, 현재 채널이 아닌 다른 채널로부터 부호화 단위에 대응하는 크기로, 현재 단위에 대한 예측을 수행할 수 있다. In the case of channel prediction, when the feature information has a multi-channel form, prediction on the current unit may be performed from a channel other than the current channel with a size corresponding to the coding unit.
이 경우에, 부호화 단위는 특징 정보의 구성에 따라 달라질 수 있다. 보다 구체적으로, 특징 정보가 다채널 형태로 구성되고 또한 채널 간의 상관성에 의하여 배열이 되어 있다면, 부호화 단위도 이러한 상관성에 기초하여 결정될 수 있다. 예를 들어, 특징 정보가 평균값에 의하여 배열되어 있다면, 유사한 평균값의 묶음으로 부호화 단위를 구성할 수 있다. 또는, 채널간의 유사도에 기초하여 배열되어 있다면, 유사도의 묶음으로 부호화 단위를 구성할 수도 있다.In this case, the coding unit may vary according to the configuration of the feature information. More specifically, if the feature information is configured in a multi-channel form and is arranged according to the correlation between channels, the coding unit may also be determined based on the correlation. For example, if feature information is arranged by an average value, a coding unit may be configured by a bundle of similar average values. Alternatively, if they are arranged based on the degree of similarity between channels, the coding unit may be configured as a bundle of similarities.
부/복호화부(106)에서 예측 기반의 부/복호화를 수행할 경우에, 부/복호화부(106)는 원본 신호와 예측 신호와의 차이(잔차 신호)를 부/복호화할 수 있다. 이 때, 예측 신호를 생성하기 위한 예측 방법은, 전술한 예측 방법 중에서 하나 이상의 방법이 적용될 수 있다. 이 경우에, 잔차 신호는 전술한 예측 방법 중에서 하나 이상의 방법을 이용한 예측 신호와 원본 신호와의 차이일 수 있다.When the encoding/decoding unit 106 performs prediction-based encoding/decoding, the encoding/decoding unit 106 may encode/decode a difference (residual signal) between the original signal and the prediction signal. In this case, as a prediction method for generating a prediction signal, one or more methods among the above-described prediction methods may be applied. In this case, the residual signal may be a difference between the original signal and the prediction signal using one or more of the aforementioned prediction methods.
부/복호화부(106)는, 이진화, 엔트로피 부호화 중에서 하나 이상의 방법을 적용하여, 예측 기반의 부/복호화를 수행하는데 있어서 발생한 예측 정보와 잔차 신호 등을 부호화할 수 있다. 보다 구체적으로, 이진화를 수행하는데 있어서는 다음의 이진화 방법 중에서 하나 이상의 방법이 적용될 수 있는데, 여기에만 한정되는 것은 아니다: 절삭된 라이스(Truncated Rice) 이진화 방법, K차수 지수-골룸(k-th order Exponential golomb) 이진화 방법, 제한된 k차수 지수-골룸 이진화 방법, 고정 길이(fixed-length)이진화 방법, 단항(unary) 이진화 방법, 절삭된 단항(truncated unary) 이진화 방법, 절삭된 이진(truncated binary) 이진화 방법.The encoding/decoding unit 106 may encode prediction information and a residual signal generated in performing prediction-based encoding/decoding by applying one or more methods of binarization and entropy encoding. More specifically, in performing binarization, one or more of the following binarization methods may be applied, but the present invention is not limited thereto: Truncated Rice binarization method, k-th order Exponential golomb) binarization method, limited k-order exponential-Gollum binarization method, fixed-length binarization method, unary binarization method, truncated unary binarization method, truncated binary binarization method .
그리고 부/복호화부(106)는, 전술한 예측 과정 및 잔차 신호의 생성 과정에서 사용되는 변수나 관련 정보, 그리고 이진화를 통해 발생한 이전 정보에 대하여 엔트로피 부/복호화를 수행한다. 엔트로피 부/복호화는 다음의 방법 중에서 하나 이상의 방법이 사용될 수 있는데, 이것은 단지 예시적인 것이다: Run-length 부호화, Huffman 부호화, 산술 부호화(arithmetic coding), 문맥기반 적응적 이진 산술 부호화(CABAC, Context-Adaptive Binary Arithmetic Coding), 문맥기반 적응적 가변길이 부호화(CAVLC, Context-Adaptive Variable Length Coding), 우회 부호화(Bypass coding).In addition, the encoding/decoding unit 106 performs entropy encoding/decoding on variables or related information used in the above-described prediction process and residual signal generation process, and previous information generated through binarization. One or more of the following methods may be used for entropy encoding/decoding, which is merely exemplary: Run-length encoding, Huffman encoding, arithmetic coding, and context-based adaptive binary arithmetic coding (CABAC, Context- Adaptive Binary Arithmetic Coding), Context-Adaptive Variable Length Coding (CAVLC), Bypass coding.
부/복호화부(106)는 또한 특징 정보를 부/복호화함에 있어서, 변환 기반의 부/복호화를 수행할 수 있다. 이 경우에, 변환의 대상이 되는 입력은, 특징 추출부(102)에서 추출한 특징 정보는 물론, 전처리부(104)에서 전처리가 수행된 특징 정보, 전술한 예측 과정을 통해 생성한 잔차 신호 중에서 하나 이상이 될 수 있다. 이러한 변환 기반의 부/복호화를 수행함으로써, 현재 부호화 단위의 신호가 보다 효율적으로 부호화할 수 있는 신호로 변환될 수 있다. 변환 기법은 다음의 변환 방법 중에서 하나 이상의 방법을 적용할 수 있는데, 이것은 단지 예시적인 것이다: PCA (Principal Component Analysis), KLT (Karhunen-Loeve Transform), DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), FFT (Fast Fourier Transform), FT (Fourier Transform).The encoding/decoding unit 106 may also perform transformation-based encoding/decoding in encoding/decoding the feature information. In this case, the input to be transformed is one of the feature information extracted by the feature extraction unit 102 , feature information preprocessed by the preprocessor 104 , and the residual signal generated through the aforementioned prediction process. can be more than By performing such transformation-based encoding/decoding, the signal of the current coding unit may be transformed into a signal that can be encoded more efficiently. The transformation method may apply one or more of the following transformation methods, which are merely exemplary: PCA (Principal Component Analysis), KLT (Karhunen-Loeve Transform), DCT (Discrete Cosine Transform), DST (Discrete Sine Transform) ), FFT (Fast Fourier Transform), FT (Fourier Transform).
부/복호화부(106)는 또한 변환 기반의 부/복호화 과정에서 발생한 정보, 예컨대 변환 정보, 변환 커널 정보, 변환 계수 정보, 변화된 신호의 계수 중에서 하나 이상의 정보를 이진화, 엔트로피 부호화 중에서 하나 이상의 방법을 적용하여 부호화할 수 있다. 이진화를 수행함에 있어서, 다음의 이진화 방법 중에서 하나 이상의 방법을 적용할 수 있는데, 이것은 단지 예시적인 것이다: 절삭된 라이스(Truncated Rice) 이진화 방법, K차수 지수-골룸(k-th order Exponential golomb) 이진화 방법, 제한된 k차수 지수-골룸 이진화 방법, 고정 길이(fixed-length)이진화 방법, 단항(unary) 이진화 방법, 절삭된 단항(truncated unary) 이진화 방법, 절삭된 이진(truncated binary) 이진화 방법.The encoding/decoding unit 106 also binarizes one or more of information generated in the transform-based encoding/decoding process, such as transform information, transform kernel information, transform coefficient information, and coefficients of a changed signal, at least one method among binarization and entropy encoding. can be applied and encoded. In performing binarization, one or more of the following binarization methods may be applied, which are merely exemplary: Truncated Rice binarization method, k-th order Exponential golomb binarization method, limited k-order exponential-Gollum binarization method, fixed-length binarization method, unary binarization method, truncated unary binarization method, truncated binary binarization method.
그리고 부/복호화부(106)는, 전술한 변환 과정에서 사용되는 변수 및 관련 정보 그리고 이진화를 통해 발생한 이전 정보에 대하여 엔트로피 부/복호화를 수행할 수 있다. 엔트로피 부/복호화는 다음의 방법 중에서 하나 이상의 방법을 적용할 수 있는데, 이것은 단지 예시적인 것이다: Run-length 부호화, Huffman 부호화, 산술 부호화(arithmetic coding), 문맥기반 적응적 이진 산술 부호화(CABAC, Context-Adaptive Binary Arithmetic Coding), 문맥기반 적응적 가변길이 부호화(CAVLC, Context-Adaptive Variable Length Coding), 우회 부호화(Bypass coding).In addition, the encoding/decoding unit 106 may perform entropy encoding/decoding on variables and related information used in the above-described conversion process and previous information generated through binarization. One or more of the following methods may be applied to entropy encoding/decoding, which is merely exemplary: Run-length encoding, Huffman encoding, arithmetic coding, and context-based adaptive binary arithmetic coding (CABAC, Context) -Adaptive Binary Arithmetic Coding), Context-Adaptive Variable Length Coding (CAVLC), Bypass Coding.
계속해서 도 2를 참조하면, 후처리부(108)는 부/복호화부(106)로부터의 출력 신호에 대하여 소정의 후처리를 수행한다. 본 실시예에 의하면, 후처리부(108)에서 적용되는 구체적인 후처리 방법에 대하여 특별한 제한이 없다. 일례로, 후처리부(108)는 전술한 전처리부(104)에서 적용한 방법에 대응하는 소정의 방법을 적용하여 후처리 절차를 수행할 수 있다. 그리고 후처리부(108)는 머신비전 네트워크에서 머신비전을 활용한 다양한 임무, 예컨대 객체 추적, 객체 인식, 영상 복원 등을 수행하는데 있어서 적합한 소정의 신호 처리 절차를 추가로 수행할 수도 있다. 이에 의하면, 후처리부(108)에서의 후처리의 대상이 되는 데이터는, 부/복호화부(106)에서 부호화된 후에 복호화된 영상 신호일 수 있으나, 후처리된 결과물의 포맷은 이를 활용하는 머신비전 네트워크의 성능이나 특성 등에 따라서 달라질 수 있다.Continuing to refer to FIG. 2 , the post-processing unit 108 performs a predetermined post-processing on the output signal from the encoding/decoding unit 106 . According to the present embodiment, there is no particular limitation on a specific post-processing method applied in the post-processing unit 108 . For example, the post-processing unit 108 may perform a post-processing procedure by applying a predetermined method corresponding to the method applied by the aforementioned pre-processing unit 104 . In addition, the post-processing unit 108 may additionally perform a predetermined signal processing procedure suitable for performing various tasks using machine vision in a machine vision network, for example, object tracking, object recognition, image restoration, and the like. According to this, data to be subjected to post-processing in the post-processing unit 108 may be a video signal decoded after being encoded in the encoder/decoder 106, but the format of the post-processed result is a machine vision network utilizing it. It may vary depending on the performance or characteristics of the
전술한 본 발명의 실시예에 따른 영상 처리 장치는 머신비전 시스템 또는 머신비전 네트워크(machine vision network)에서 머신비전의 임무, 즉 영상 복원, 객체 인식, 객체 추적, 객체 분류, 객체 분할 등의 임무 수행을 위한 것이다. 이러한 영상 처리 장치는 일종의 압축 네트워크(compression network)에 대응하는 것으로서, 머신비전 네트워크와 일체가 되어 전체가 하나의 네트워크(이하, ‘결합 네트워크(combined network)’라고 한다)로 구현되거나 또는 머신비전 네트워크와는 별개의 네트워크로 구현될 수 있다. The image processing apparatus according to the embodiment of the present invention described above performs the tasks of machine vision in a machine vision system or a machine vision network, that is, image restoration, object recognition, object tracking, object classification, object segmentation, etc. is for Such an image processing apparatus corresponds to a kind of compression network, and is integrated with the machine vision network and is implemented as a single network (hereinafter, referred to as a 'combined network') or a machine vision network. It can be implemented as a separate network from
도 7은 본 발명의 실시예에 따른 영상 처리 장치가 머신 비전을 수행하는 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 일례를 도식적으로 보여 주는 구성도이다. 도 7에 도시되어 있지 않지만, 전체 시스템에는 비트스트림으로부터 영상을 복원하기 위한 영상복원 네트워크가 추가로 구비될 수 있는데, 여기서 이에 대한 구체적인 설명은 생략한다(도 9 또는 도 11 및 관련 설명 참조).7 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a network model that performs machine vision. Although not shown in FIG. 7 , an image restoration network for restoring an image from a bitstream may be additionally provided in the entire system, and a detailed description thereof will be omitted (see FIG. 9 or FIG. 11 and related description).
도 7을 참조하면, 시스템에서는 해당 네트워크 모델의 특징 추출기로부터 생성되는 입력 영상의 특징 정보를 전처리한 다음, 전처리된 특징 정보에 대한 부호화 및 복호화를 수행할 수 있다. 전처리 방법이나 부/복호화 방법은 각각 전술한 다양한 방법 중에서 어느 하나 이상의 방법이 사용될 수 있다. 그리고 부호화의 결과로 생성되는 비트스트림은 머신비전을 수행하는 네트워크 모델의 하나 이상의 층에서 출력되는 특징 정보, 은닉 벡터 또는 이들을 부호화한 형태 중에서 하나 이상이 될 수 있다. 또한, 해당 비트스트림은 전술한 특징 정보의 전처리, 특징 정보의 부호화 방법 중에서 하나 이상의 방법을 이용하여 부호화를 수행한 결과일 수 있다. 이 때, 전처리 과정과 부호화 과정 중 하나 이상의 방법으로 발생하는 정보는 복호화기로 전송될 수 있다. Referring to FIG. 7 , the system may preprocess the feature information of an input image generated by the feature extractor of the corresponding network model, and then perform encoding and decoding on the preprocessed feature information. As the preprocessing method or the encoding/decoding method, any one or more of the various methods described above may be used, respectively. In addition, the bitstream generated as a result of encoding may be one or more of feature information output from one or more layers of a network model performing machine vision, a hidden vector, or an encoded form thereof. Also, the corresponding bitstream may be a result of performing encoding by using one or more of the aforementioned preprocessing of the characteristic information and the encoding method of the characteristic information. In this case, information generated by at least one of the preprocessing process and the encoding process may be transmitted to the decoder.
도 8은 본 발명의 실시예에 따른 영상 처리 장치가 머신비전 네트워크와는 구분되는 별도의 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 일례를 도식적으로 보여 주는 구성도이다. 도 8을 참조하면, 특징 추출이나 전처리, 부/복호화 등의 처리는 머신비전 네트워크와는 별개인 압축 네트워크에서 수행된다. 그리고 부/복호화된 후에 소정의 후처리를 하여 생성되는 영상 데이터(예컨대, 비트스트림으로 부호화된 후에 복호화된 특징 정보, 특징 정보로부터 복원된 영상 등)는 머신비전 네트워크로 입력되어, 해당 네트워크가 머신비전 임무를 수행하는데 활용된다. 8 is a configuration diagram schematically illustrating an example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network. Referring to FIG. 8 , processing such as feature extraction, preprocessing, encoding/decoding, etc. is performed in a compression network separate from the machine vision network. Then, image data generated by performing predetermined post-processing after encoding/decoding (eg, feature information decoded after being encoded into a bitstream, image restored from feature information, etc.) is input to a machine vision network, It is used to carry out vision missions.
도 9는 본 발명의 실시예에 따른 영상 처리 장치가 머신비전 네트워크와는 구분되는 별도의 네트워크 모델을 사용하여 구현되는 경우의 시스템 구성의 다른 예를 도식적으로 보여 주는 구성도이다. 도 9에 도시된 시스템의 구성은 영상복원 네트워크를 더 포함한다는 점에서, 도 8에 도시된 시스템의 구성과 차이가 있다. 9 is a configuration diagram schematically illustrating another example of a system configuration when an image processing apparatus according to an embodiment of the present invention is implemented using a separate network model distinguished from a machine vision network. The configuration of the system shown in FIG. 9 is different from the configuration of the system shown in FIG. 8 in that it further includes an image restoration network.
도 9를 참조하면, 특징 추출이나 전처리, 부/복호화 등의 처리는 머신비전 네트워크와는 별개인 압축 네트워크에서 수행된다. 그리고 부/복호화된 후에 소정의 후처리를 하여 생성되는 영상 데이터(예컨대, 비트스트림으로 부호화된 후에 복호화된 특징 정보, 특징 정보로부터 복원된 영상 등)는 머신비전 네트워크로 입력된다. 그리고 영상복원 네트워크는 부/복호화부에서 생성되는 비트스트림을 이용하여 영상을 복원한다. 영상복원 네트워크에서 복원된 영상은 머신비전 네트워크에서 소정의 임무를 수행하는데 함께 활용될 수 있다. Referring to FIG. 9 , processing such as feature extraction, preprocessing, encoding/decoding, etc. is performed in a compression network separate from the machine vision network. Then, image data (eg, feature information decoded after encoding into a bitstream, an image reconstructed from feature information, etc.) generated by performing predetermined post-processing after encoding/decoding is input to the machine vision network. And the image restoration network restores the image by using the bitstream generated by the encoder/decoder. The image restored in the image restoration network can be used together to perform a predetermined task in the machine vision network.
도 10과 도 11은 각각 도 7의 시스템에 대응하는 시스템의 구성을 다른 관점에서 도시한 것으로서, 도 10은 영상복원 네트워크가 구비되어 있지 않은 경우이고, 도 11은 영상복원 네트워크가 구비되어 있는 경우이다. 10 and 11 respectively show the configuration of a system corresponding to the system of FIG. 7 from different perspectives. FIG. 10 is a case in which an image restoration network is not provided, and FIG. 11 is a case in which an image restoration network is provided. am.
도 10이나 도 11에 도시된 바와 같이, 압축을 수행하는 네트워크 모델과 머신비젼을 수행하는 네트워크 모델을 모두 사용하는 경우에, 두 네트워크 모델을 통합(combined network)하여 학습시킬 수 있다. 이 때, 압축을 수행하는 네트워크 모델의 출력은 입력 영상이 재구성된 영상 또는 재구성된 특징 정보의 형태일 수 있으며, 해당 출력은 머신비전을 수행하는 네트워크 모델의 입력이 될 수 있다. 비트스트림은 두 네트워크 모델의 적어도 하나 이상의 층에서 출력되는 특징 정보/은닉 벡터 또는 이를 부호화한 형태가 될 수 있다. 해당 비트스트림은 도 2를 참조하여 전술한 특징 정보의 전처리 및 특징 부호화 방법 중에서 하나 이상의 방법을 이용하여 부호화를 수행할 결과일 수 있다. 이 때, 전처리 과정과 부호화 과정 중 하나 이상의 과정에서 발생하는 정보는 복호화기로 전송될 수 있다.As shown in FIG. 10 or FIG. 11 , when both a network model performing compression and a network model performing machine vision are used, the two network models may be combined and trained. In this case, the output of the network model performing compression may be in the form of an image in which the input image is reconstructed or reconstructed feature information, and the corresponding output may be an input of the network model performing machine vision. The bitstream may be in the form of feature information/hidden vectors output from at least one or more layers of the two network models or an encoded form thereof. The corresponding bitstream may be a result of performing encoding by using one or more of the pre-processing and feature encoding methods described above with reference to FIG. 2 . In this case, information generated in one or more of the preprocessing process and the encoding process may be transmitted to the decoder.
그리고 도 11에 도시된 바와 같이, 전체 시스템은, 재구성된 영상이 출력되지 않는 경우에는, 입력 영상을 재구성한 영상이 출력될 수 있도록 복호화를 수행할 수 있는 별도의 영상복원 네트워크 모델이 추가로 포함되어 구성될 수 있다. 해당 영상복원 네트워크 모델은 입력 영상의 압축에서 사용된 정보 중에서 하나 이상을 전술한 특징 복호화 방법 중에서 하나 이상의 방법을 이용하여 복호화될 수 있으며, 복호화를 위한 하나 이상의 네트워크 층의 필터 계수를 포함할 수 있다.And, as shown in FIG. 11, when the reconstructed image is not output, the entire system further includes a separate image restoration network model capable of performing decoding so that an image reconstructed from the input image can be output. can be configured. The image restoration network model may be decoded by using one or more of the above-described feature decoding methods among information used in compression of the input image, and may include filter coefficients of one or more network layers for decoding. .
도 12는 도 8의 시스템에 대응하는 시스템의 구성을 다른 관점에서 도시한 것이다. 이러한 시스템은 압축을 수행하는 네트워크 모델과 머신 비전을 수행하는 네트워크 모델을 모두 사용하는 경우로서, 각 네트워크 모델을 각각 학습시킬 수 있다. 이 때, 압축을 수행하는 네트워크의 출력은 입력 영상이 재구성된 영상일 수 있으며, 해당 출력은 머신 비전을 수행하는 네트워크 모델의 입력이 될 수 있다. 비트스트림은 압축 네트워크의 적어도 하나 이상의 층에서 출력되는 특징 정보, 은닉 벡터 또는 이들을 부호화한 형태가 될 수 있다. 해당 비트스트림은 전술한 특징 정보의 전처리 방법과 특징 정보의 부호화 방법 중에서 하나 이상의 방법을 이용하여 부호화를 수행한 결과일 수 있다. 이 때, 전처리 과정이나 부호화 과정 중에서 부호화를 수행하는 과정에서 발생하는 정보는 복호화기로 전송될 수 있다.12 is a view showing the configuration of a system corresponding to the system of FIG. 8 from another viewpoint. In such a system, both a network model performing compression and a network model performing machine vision are used, and each network model can be trained separately. In this case, the output of the network performing compression may be an image from which an input image is reconstructed, and the corresponding output may be an input of a network model performing machine vision. The bitstream may be in the form of feature information output from at least one or more layers of the compression network, a hidden vector, or an encoded form thereof. The corresponding bitstream may be a result of performing encoding using one or more of the above-described pre-processing method of the characteristic information and the encoding method of the characteristic information. In this case, information generated in the process of performing encoding during the pre-processing process or the encoding process may be transmitted to the decoder.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형이 가능하다.Although the present invention has been described in detail with reference to preferred embodiments, the present invention is not limited to the above-described embodiments, and various modifications may be made by those skilled in the art within the scope of the technical spirit of the present invention. It is possible.

Claims (6)

  1. 머신비전을 위한 영상의 처리 방법으로서, An image processing method for machine vision, comprising:
    상기 영상으로부터 특징 정보를 추출하는 추출 단계;an extraction step of extracting feature information from the image;
    상기 추출 단계에서 추출된 상기 특징 정보를 전처리하여 상기 특징 정보의 크기를 감소시키는 전처리 단계; 및a pre-processing step of pre-processing the feature information extracted in the extraction step to reduce the size of the feature information; and
    전처리된 상기 특징 정보를 기존의 비디오 코덱 기법을 적용하여 부호화하는 부호화 과정을 포함하는 부/복호화 단계를 포함하고,and an encoding/decoding step including an encoding process of encoding the pre-processed feature information by applying an existing video codec technique,
    상기 부/복호화 단계에서는, 상기 전처리 단계에서 사용하는 전처리 방법과 관련되는 전처리 관련 정보를 수신하여 함께 부호화하는 것을 특징으로 하는 영상 처리 방법.In the encoding/decoding step, the image processing method, characterized in that the pre-processing information related to the pre-processing method used in the pre-processing step is received and encoded together.
  2. 제1항에 있어서,The method of claim 1,
    상기 전처리 단계에서는 정규화, 스케일링, 재배열, 표현 비트수 축소, 양자화, 변환 및 필터링 중에서 하나 이상의 방법을 적용하여 전처리를 수행하는 것을 특징으로 하는 영상 처리 방법.In the preprocessing step, the image processing method, characterized in that the preprocessing is performed by applying one or more methods of normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
  3. 제1항에 있어서,The method of claim 1,
    상기 부/복호화 단계에서는 상기 부호화 과정의 결과로 생성된 비트스트림을 복호화하는 복호화 과정을 포함하고, The encoding/decoding step includes a decoding process of decoding the bitstream generated as a result of the encoding process,
    상기 부/복호화 단계에서는 예측 기반의 부/복호화와 변환 기반의 부/복호화 중에서 하나 이상의 방법으로 부/복호화를 수행하는 것을 특징으로 하는 영상 처리 방법.The image processing method, characterized in that in the encoding/decoding step, encoding/decoding is performed by at least one method among prediction-based encoding/decoding and transformation-based encoding/decoding.
  4. 머신 비전을 위한 영상의 처리를 수행하는 프로세서를 포함하는 영상 처리 장치로서, 상기 프로세서는,An image processing apparatus comprising a processor for processing an image for machine vision, the processor comprising:
    상기 영상으로부터 특징 정보를 추출하는 특징 추출부;a feature extracting unit for extracting feature information from the image;
    상기 특징 추출부가 추출한 상기 특징 정보를 전처리하여 상기 특징 정보의 크기를 감소시키는 전처리부; 및a preprocessor for preprocessing the feature information extracted by the feature extractor to reduce the size of the feature information; and
    상기 전처리부가 전처리한 상기 특징 정보를 기존의 비디오 코덱 기법을 적용하여 부호화 과정을 수행하는 부/복호화부를 포함하고,and an encoder/decoder that performs an encoding process by applying an existing video codec technique to the feature information preprocessed by the preprocessor,
    상기 부/복호화부는, 상기 전처리부가 사용하는 전처리 방법과 관련되는 전처리 관련 정보를 상기 전처리부로부터 수신하여 함께 부호화하는 것을 특징으로 하는 영상 처리 장치.The image processing apparatus according to claim 1, wherein the encoder/decoder receives preprocessing-related information related to the preprocessing method used by the preprocessor from the preprocessor and encodes the same.
  5. 제4항에 있어서,5. The method of claim 4,
    상기 전처리부는 정규화, 스케일링, 재배열, 표현 비트수 축소, 양자화, 변환 및 필터링 중에서 하나 이상의 방법을 적용하여 전처리를 수행하는 것을 특징으로 하는 영상 처리 장치.and the preprocessor performs preprocessing by applying one or more methods of normalization, scaling, rearrangement, reduction in the number of expression bits, quantization, transformation, and filtering.
  6. 제4항에 있어서,5. The method of claim 4,
    상기 부/복호화부는 상기 부호화 과정의 결과로 생성된 비트스트림을 복호화하는 복호화 과정도 함께 수행하고, The encoding/decoding unit also performs a decoding process of decoding the bitstream generated as a result of the encoding process,
    상기 부/복호화부는 예측 기반의 부/복호화와 변환 기반의 부/복호화 중에서 하나 이상의 방법으로 부/복호화를 수행하는 것을 특징으로 하는 영상 처리 장치.The image processing apparatus according to claim 1, wherein the encoding/decoding unit performs encoding/decoding by at least one of prediction-based encoding/decoding and transformation-based encoding/decoding.
PCT/KR2021/013723 2020-10-06 2021-10-06 Method and apparatus for processing image for machine vision WO2022075754A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2020-0128946 2020-10-06
KR20200128946 2020-10-06
KR10-2020-0168520 2020-12-04
KR20200168520 2020-12-04
KR20210089139 2021-07-07
KR10-2021-0089139 2021-07-07

Publications (1)

Publication Number Publication Date
WO2022075754A1 true WO2022075754A1 (en) 2022-04-14

Family

ID=81126288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013723 WO2022075754A1 (en) 2020-10-06 2021-10-06 Method and apparatus for processing image for machine vision

Country Status (2)

Country Link
KR (1) KR20220045920A (en)
WO (1) WO2022075754A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024008147A1 (en) * 2022-07-07 2024-01-11 Douyin Vision (Beijing) Co., Ltd. System and method for learned image compression with pre-processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190087264A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
KR20200009118A (en) * 2017-07-06 2020-01-29 삼성전자주식회사 Method and apparatus for encoding / decoding video
KR20200026026A (en) * 2018-08-31 2020-03-10 삼성전자주식회사 Electronic device for high-speed compression processing of feature map of cnn utilizing system and controlling method thereof
KR20200095589A (en) * 2019-01-18 2020-08-11 한국항공대학교산학협력단 Advanced system and method for video compression
KR20200109904A (en) * 2019-03-15 2020-09-23 (주)인시그널 System and method for DNN based image or video coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102420677B1 (en) 2015-10-26 2022-07-15 다우 (상하이) 홀딩 캄파니, 리미티드 Articles having a silicone release coating composition and a cured release coating

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200009118A (en) * 2017-07-06 2020-01-29 삼성전자주식회사 Method and apparatus for encoding / decoding video
KR20190087264A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
KR20200026026A (en) * 2018-08-31 2020-03-10 삼성전자주식회사 Electronic device for high-speed compression processing of feature map of cnn utilizing system and controlling method thereof
KR20200095589A (en) * 2019-01-18 2020-08-11 한국항공대학교산학협력단 Advanced system and method for video compression
KR20200109904A (en) * 2019-03-15 2020-09-23 (주)인시그널 System and method for DNN based image or video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024008147A1 (en) * 2022-07-07 2024-01-11 Douyin Vision (Beijing) Co., Ltd. System and method for learned image compression with pre-processing

Also Published As

Publication number Publication date
KR20220045920A (en) 2022-04-13

Similar Documents

Publication Publication Date Title
EP1095459B1 (en) Real time algorithms and architectures for coding images compressed by dwt-based techniques
US6195026B1 (en) MMX optimized data packing methodology for zero run length and variable length entropy encoding
US6567562B1 (en) Encoding apparatus and method
JP3967405B2 (en) Image signal encoding method
EP2317476B1 (en) Multimedia signature coding and decoding
US6128413A (en) Method and apparatus for data compression
US6628717B1 (en) Lossless coding method and video compression coding device using the same
KR940009700B1 (en) Method of digital information transmission
Sonal A study of various image compression techniques
WO2014030948A1 (en) System and method for compressing adaptive image
WO2012115487A2 (en) Image transform and inverse transform method, and image encoding and decoding device using same
WO2017043769A1 (en) Encoding device, decoding device, and encoding method and decoding method thereof
US5124791A (en) Frame-to-frame compression of vector quantized signals and other post-processing
WO2022075754A1 (en) Method and apparatus for processing image for machine vision
EP0905651A3 (en) Image processing apparatus and method
JP3389369B2 (en) Contour approximation device
JP3231674B2 (en) Signal encoding method
CN1628466A (en) Context-sensitive encoding and decoding of a video data stream
CN112770116A (en) Method for extracting video key frame by using video compression coding information
US20030191914A1 (en) Bit plane coding apparatus
WO2013081428A1 (en) Method and apparatus for encoding binary image using adaptive template and method and apparatus for decoding the same
US7164369B2 (en) System for improving storage efficiency of digital files
WO2023068825A1 (en) Image compression device and method
JP3359214B2 (en) Multi-level image coding device
JP3694349B2 (en) Contour coding device

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21878005

Country of ref document: EP

Kind code of ref document: A1