WO2023014065A1 - 영상에 대한 ai 기반 필터링을 위한 장치 및 방법 - Google Patents
영상에 대한 ai 기반 필터링을 위한 장치 및 방법 Download PDFInfo
- Publication number
- WO2023014065A1 WO2023014065A1 PCT/KR2022/011429 KR2022011429W WO2023014065A1 WO 2023014065 A1 WO2023014065 A1 WO 2023014065A1 KR 2022011429 W KR2022011429 W KR 2022011429W WO 2023014065 A1 WO2023014065 A1 WO 2023014065A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- current block
- sample values
- current
- quantization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Definitions
- the present disclosure relates to a method and apparatus for processing an image, and more specifically, to a method and apparatus for removing an error generated during encoding and decoding of an image by applying an artificial intelligence (AI)-based filter to the image.
- AI artificial intelligence
- codecs such as H.264 AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding)
- H.264 AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- an image is divided into blocks, and each block is predicted and coded through inter prediction or intra prediction. and predictive decoding.
- Intra prediction is a method of compressing an image by removing spatial redundancy in images
- inter prediction is a method of compressing an image by removing temporal redundancy between images.
- a prediction block is generated through intra prediction or inter prediction
- a residual block is generated by subtracting the prediction block from a current block
- residual samples of the residual block are transformed and quantized.
- residual samples of the residual block are generated by inverse quantization and inverse transformation of quantized transform coefficients of the residual block, and a prediction block generated through intra prediction or inter prediction is combined with the residual block to reconstruct the current block.
- the restored current block may be output after being processed according to one or more filtering algorithms.
- Codecs such as H.264 AVC and HEVC use a rule-based filtering algorithm for filtering the restored current block.
- the rule-based filtering algorithm may include, for example, a deblocking filter, a sample adaptive offset (SAO) filter, and an adaptive loop filter (ALF).
- SAO sample adaptive offset
- ALF adaptive loop filter
- rule-based filtering algorithms have exhibited good performance, but as image resolution increases and image content diversifies, AI-based filtering algorithms that can flexibly consider image characteristics may be required.
- An image processing apparatus and method for AI-based filtering aims to make a restored block more similar to an original block by applying AI-based filtering to a restored block.
- an image processing apparatus and method for AI-based filtering have an object to more efficiently remove a quantization error in a reconstructed block.
- an image processing apparatus and method for AI-based filtering aims to improve the quality of a restored block through AI-based filtering in consideration of characteristics of the restored block.
- An image processing device for AI-based filtering includes a memory storing one or more instructions; and a processor operating according to the one or more instructions, wherein the processor reconstructs a current block from encoded data of the current block, and includes sample values calculated from a quantization parameter included in the encoded data.
- a quantization error map is obtained, a first modified block is obtained by applying the current block and the quantization error map to a neural network, and a first modified block between the current block and the first modified block is obtained.
- a first differential block is obtained, and sample values of the first differential block are changed according to a parameter depending on characteristics of the current block to obtain a second differential block, and the current block is obtained.
- a second modified block may be obtained by combining ? and the second residual block.
- An image processing apparatus and method for AI-based filtering may apply AI-based filtering to a reconstructed block to make the reconstructed block more similar to an original block.
- an image processing apparatus and method for AI-based filtering may more efficiently remove quantization errors in a reconstructed block.
- the image processing apparatus and method for AI-based filtering may improve the quality of a reconstructed block through AI-based filtering in consideration of characteristics of the reconstructed block.
- FIG. 1 is a block diagram illustrating a configuration of an image processing device according to an exemplary embodiment.
- FIG. 2 is a diagram illustrating a quantization error map generated from quantization parameters of sub-blocks of a current block according to an exemplary embodiment.
- FIG. 3 is a diagram illustrating a neural network according to an embodiment.
- FIG. 4 is a diagram illustrating a configuration of an image modifying unit according to an exemplary embodiment.
- FIG. 5 is a table showing a correspondence relationship between candidate parameters and features of a block according to an embodiment.
- FIG. 6 is a table showing a correspondence relationship between parameter sets and features of a block according to an embodiment.
- FIG. 7 is a diagram illustrating a plurality of scale factor sets according to an embodiment.
- FIG. 8 is a diagram for explaining general convolution processing.
- FIG. 9 is a diagram illustrating an extension block in a current image according to an exemplary embodiment.
- 10 is a diagram illustrating an extension block when an extension distance is determined to be 3 according to an embodiment.
- 11 is a diagram illustrating an extended quantization error map corresponding to an extended block according to an exemplary embodiment.
- FIG. 12 is a table showing a correspondence relationship between a plurality of weight sets and features of a block according to an embodiment.
- FIG. 13 is a flowchart of an image processing method by an image processing device according to an exemplary embodiment.
- FIG. 14 is a flowchart of an image processing method by an image processing device according to an exemplary embodiment.
- 15 is a diagram for explaining a method for training a neural network according to an exemplary embodiment.
- 16 is a block diagram illustrating the configuration of an image processing device according to another embodiment.
- 17 is a diagram illustrating a process of encoding and decoding an image.
- 18 is a diagram showing blocks divided from an image according to a tree structure.
- An image processing device for AI-based filtering includes a memory storing one or more instructions; and a processor operating according to the one or more instructions, wherein the processor reconstructs a current block from encoded data of the current block, and includes sample values calculated from a quantization parameter included in the encoded data.
- a quantization error map is obtained, a first modified block is obtained by applying the current block and the quantization error map to a neural network, and a first modified block between the current block and the first modified block is obtained.
- a first differential block is obtained, and sample values of the first differential block are changed according to a parameter depending on characteristics of the current block to obtain a second differential block, and the current block is obtained.
- a second modified block may be obtained by combining ? and the second residual block.
- the neural network may include at least one convolution layer configured to perform convolution processing on the current block and the quantization error map according to preset weights and output the first residual block; and a summing layer outputting the first correction block by summing the first residual block and the current block.
- sample values of the quantization error map may correspond to a quantization step size or a quantization error value calculated from the quantization parameter.
- sample values of the quantization error map may be calculated for each sub-block.
- the processor selects a parameter indicated by the first information obtained from the encoded data from among a plurality of candidate parameters, and changes sample values of the first difference block according to the selected parameter to obtain the second difference block. blocks can be obtained.
- the processor selects a parameter set indicated by the second information obtained from the encoded data from among a plurality of parameter sets, and selects a parameter set indicated by the first information among the plurality of candidate parameters included in the selected parameter set. parameters can be selected.
- the second information may be obtained for an upper block including the current block, and the first information may be obtained for the current block.
- the processor may obtain a characteristic value of the current block or an upper block of the current block to determine the parameter.
- the feature value is i) a sum of squared values of residual sample values obtained for reconstruction of the current block or the upper block, ii) an average of squared values of the residual sample values, iii) A maximum value among the residual sample values, iv) a maximum value among absolute values of the residual sample values, v) a number of non-zero transform coefficients among transform coefficients corresponding to the residual samples, vi) corresponding to the current block A value indicating the type of slice, vii) a ratio between the width of a block to which intra prediction is applied and the width of a block to which inter prediction is applied within the current block or the upper block, viii) the sharpness of the current block or the upper block (sharpness), ix) an average of one or more quantization step sizes calculated from one or more quantization parameters set for the current block or the upper block, or x) an average of one or more quantization error values calculated from the one or more quantization parameters It can be obtained from at least one of
- the parameter may include a scale factor
- the processor may acquire the second difference block by scaling sample values of the first difference block according to the selected scale factor
- the parameter includes a clipping factor
- the processor configures the sample values of the first difference block to be included between an upper limit value and a lower limit value corresponding to the selected clipping factor.
- the second residual block may be obtained by clipping sample values of the first residual block.
- the processor obtains a feature value of the current block or an upper block of the current block, selects a weight set corresponding to the feature value from among a plurality of weight sets, and determines the current block and the quantization error.
- the map may be processed by a neural network operating according to the selected set of weights.
- the processor obtains a feature value of the current block or an upper block of the current block, and determines whether to apply the AI-based filtering to the current block based on the obtained feature value.
- the processor calculates an extension distance according to the number of convolution layers included in the neural network and the size of a filter kernel used in the convolution layer, and calculates an extension distance of the current block in the current image.
- An extension block composed of neighboring samples corresponding to the extension distance among neighboring samples outside the boundary and samples of the current block may be applied to the neural network.
- neighboring samples corresponding to the extended distance may be determined from the nearest available sample.
- the neural network is trained according to loss information corresponding to a difference between an original block for training and a first modified block for training obtained through the neural network, and the first modified block for training comprises the It can be obtained by applying a current block for training obtained through encoding and decoding of an original block for training and a quantization error map for training corresponding to the current block for training to the neural network.
- An image processing method includes restoring a current block from encoded data of the current block; obtaining a quantization error map including sample values calculated from quantization parameters included in the encoded data; obtaining a first modified block by applying the current block and the quantization error map to a neural network; obtaining a first difference block between the current block and the first correction block; obtaining a second residual block by changing sample values of the first residual block according to a parameter depending on characteristics of the current block; and obtaining a second modified block by combining the current block and the second residual block.
- An image processing device includes a memory for storing one or more instructions; and a processor operating according to the one or more instructions, wherein the processor restores a current block from encoded data of the current block, and generates a quantization error map including sample values calculated from quantization parameters included in the encoded data. obtain a first difference block by applying the current block and the quantization error map to a neural network, and change sample values of the first difference block according to parameters dependent on characteristics of the current block to obtain a second difference block , and a modified block may be obtained by combining the current block and the second difference block.
- the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.
- one component when one component is referred to as “connected” or “connected” to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.
- components expressed as ' ⁇ unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more for each function. may be differentiated into.
- each of the components to be described below may additionally perform some or all of the functions of other components in addition to its own main function, and some of the main functions of each component may be different from other components. Of course, it may be performed exclusively by a component.
- an 'image or picture' may mean a still image (or frame), a motion picture composed of a plurality of continuous still images, or a video.
- a 'neural network' is a representative example of an artificial neural network model that mimics a cranial nerve, and is not limited to an artificial neural network model using a specific algorithm.
- a neural network may also be referred to as a deep neural network.
- a 'weight' is a value used in the calculation process of each layer constituting the neural network, and may be used, for example, when an input value is applied to a predetermined calculation expression.
- the weight is a value set as a result of training, and can be updated through separate training data as needed.
- 'current block' means a block that is currently a processing target.
- the current block may be a slice, tile, maximum coding unit, coding unit, prediction unit, or transformation unit divided from the current image.
- sample' refers to data to be processed as data allocated to a sampling position within data such as an image, block, filter kernel, or feature map.
- a sample may include a pixel in a 2D image.
- FIGS. 17 and 18 Prior to describing an image processing device and an image processing method according to an embodiment, an image encoding and decoding process will be described with reference to FIGS. 17 and 18 .
- 17 is a diagram illustrating a process of encoding and decoding an image.
- the encoding device 1710 transmits the bitstream generated through encoding of the image to the decoding device 1750, and the decoding device 1750 receives and decodes the bitstream to restore the image.
- the prediction encoder 1715 outputs a prediction block through inter prediction and intra prediction
- the transform and quantization unit 1720 outputs a residual sample of a residual block between the prediction block and the current block. are transformed and quantized to output quantized transform coefficients.
- the entropy encoding unit 1725 encodes the quantized transform coefficient and outputs it as a bitstream.
- the quantized transform coefficient is reconstructed into a residual block including residual samples in the spatial domain through an inverse quantization and inverse transform unit 1730 .
- a reconstructed block obtained by adding a prediction block and a residual block is output as a filtered block after passing through a deblocking filtering unit 1735 and a loop filtering unit 1740.
- the reconstructed image including the filtered block may be used as a reference image for the next input image in the predictive encoder 1715.
- the bitstream received by the decoding device 1750 is reconstructed into a residual block including residual samples in the spatial domain through an entropy decoding unit 1755 and an inverse quantization and inverse transform unit 1760.
- a reconstructed block is generated by combining the prediction block output from the prediction decoding unit 1775 and the residual block, and the reconstructed block is output as a filtered block through a deblocking filtering unit 1765 and a loop filtering unit 1770.
- the reconstructed image including the filtered block may be used as a reference image for the next image in the prediction decoding unit 1775.
- the loop filtering unit 1740 of the encoding device 1710 performs loop filtering using filter information input according to user input or system settings.
- the filter information used by the loop filtering unit 1740 is transmitted to the decoding apparatus 1750 through the entropy encoding unit 1725.
- the loop filtering unit 1770 of the decoding apparatus 1750 may perform loop filtering based on filter information input from the entropy decoding unit 1755 .
- an image is hierarchically segmented, and encoding and decoding are performed on blocks divided from the image.
- a block segmented from an image will be described with reference to FIG. 18 .
- FIG. 18 is a diagram showing blocks divided from the image 1800 according to a tree structure.
- One image 1800 may be divided into one or more slices or one or more tiles.
- One slice may include a plurality of tiles.
- One slice or one tile may be a sequence of one or more Maximum Coding Units (Maximum CUs).
- One maximum coding unit may be divided into one or more coding units.
- a coding unit may be a reference block for determining a prediction mode. In other words, it may be determined whether the intra prediction mode or the inter prediction mode is applied to each coding unit.
- a maximum coding unit may be referred to as a maximum coding block, and a coding unit may be referred to as a coding block.
- the size of the coding unit may be equal to or smaller than the maximum coding unit. Since a maximum coding unit is a coding unit having a maximum size, it may be referred to as a coding unit.
- One or more prediction units for intra prediction or inter prediction may be determined from the coding unit.
- the size of the prediction unit may be equal to or smaller than the coding unit.
- one or more transform units for transform and quantization may be determined from the coding unit.
- the size of the conversion unit may be equal to or smaller than the coding unit.
- a transform unit is a reference block for transform and quantization, and residual samples of a coding unit may be transformed and quantized for each transform unit within the coding unit.
- a current block may be a slice, a tile, a maximum coding unit, a coding unit, a prediction unit, or a transformation unit divided from the image 1800 .
- a sub-block of the current block is a block divided from the current block, and for example, if the current block is a maximum coding unit, the sub-block may be a coding unit, a prediction unit, or a transformation unit.
- an upper block of the current block is a block that includes the current block as a part. For example, if the current block is a maximum coding unit, the upper block may be a picture sequence, picture, slice, or tile.
- FIGS. 1 to 16 an image processing device and an image processing method according to an exemplary embodiment will be described with reference to FIGS. 1 to 16 .
- FIG. 1 is a block diagram illustrating a configuration of an image processing device 100 according to an exemplary embodiment.
- the image processing device 100 may include a decoder 110 and an AI filter unit 130.
- the AI filter unit 130 may include a quantization error calculation unit 132, an AI-based image processing unit 134, an image analysis unit 136, and an image correction unit 138.
- the decoder 110 and the AI filter unit 130 may be implemented with one or more processors.
- the decoder 110 and the AI filter unit 130 may operate according to instructions stored in memory.
- FIG. 1 shows the decoder 110 and the AI filter unit 130 separately, the decoder 110 and the AI filter unit 130 may be implemented through a single processor.
- the decoder 110 and the AI filter unit 130 may be implemented as a dedicated processor, and a general-purpose processor such as an application processor (AP), central processing unit (CPU) or graphic processing unit (GPU) and software It can also be implemented through a combination.
- a dedicated processor may include a memory for implementing an embodiment of the present disclosure or a memory processing unit for using an external memory.
- the decoder 110 and the AI filter unit 130 may be composed of a plurality of processors. In this case, it may be implemented with a combination of dedicated processors, or it may be implemented with a combination of software and a plurality of general-purpose processors such as APs, CPUs, or GPUs.
- the decoder 110 may reconstruct the current block by decoding the encoded data. Encoded data may be generated as a result of encoding an original block in an original image.
- the decoder 110 may include an inverse quantization and inverse transform unit 1730 and a prediction encoder 1715 shown in FIG. 17 . In another embodiment, the decoder 110 may include an inverse quantization and inverse transform unit 1760 and a prediction decoding unit 1775 shown in FIG. 17 .
- Encoded data may include syntax elements generated through encoding of an original block.
- the encoded data may correspond to data input to the entropy encoding unit 1725 shown in FIG. 17 .
- the encoded data may correspond to data output from the entropy decoding unit 1755.
- the image processing device 100 may be the encoding device 1710 or the decoding device 1750 shown in FIG. 17 .
- the image processing device 100 may entropy-encode coded data to generate a bitstream and transmit the bitstream to the decoding device 1750.
- the image processing device 100 may entropy-decode the bitstream received from the encoding device 1710 to obtain encoded data.
- encoded data may correspond to a bitstream.
- the current block restored by the decoding unit 110 may be input to the AI filter unit 130 .
- the current block reconstructed by the decoding unit 110 is transmitted to the AI-based image processing unit 134, and the quantization parameter included in the encoded data is transmitted from the decoding unit 110 to the quantization error calculator 132.
- the current block reconstructed by the decoder 110 may be input to the AI filter unit 130 after being processed according to one or more predetermined filtering algorithms before being input to the AI filter unit 130.
- the current block restored by the decoding unit 110 may be processed by a deblocking filter and then input to the AI filter unit 130 .
- the AI filter unit 130 applies AI-based filtering to the current block and outputs the filtered block.
- the filtered block may be a second modified block.
- the second modified block output by the AI filter unit 130 may be processed according to one or more predetermined filtering algorithms.
- the second modified block may be output after being processed by the SAO filter.
- the quantization error calculator 132 may generate a quantization error map based on the quantization parameters received from the decoder 110 .
- the quantization error map may include sample values calculated from quantization parameters.
- the size of the quantization error map may be the same as the size of the current block.
- the quantization error map may include quantization error values calculated from quantization parameters as sample values.
- the quantization error values may indicate an amount of error that may be caused by quantization and dequantization applied to residual samples in encoding and decoding processes of an original block.
- a large quantization error value may mean that a difference between a transform coefficient before quantization and a transform coefficient after inverse quantization may be large. As the difference between the transform coefficient before quantization and the transform coefficient after inverse quantization increases, the identity between the original block and the current block obtained through decoding of the encoded data may decrease.
- AI-based filtering needs to be performed in consideration of quantization error values.
- the quantization error value may be calculated from Equation 1 below.
- Quantization error value quantization step size ⁇ 2 / 12
- the quantization error value may be proportional to the square of the quantization step size.
- the quantization step size is a value used for quantization of the transform coefficient, and the transform coefficient can be quantized by dividing the transform coefficient by the quantization step size. Conversely, a quantized transform coefficient can be dequantized by multiplying the quantized transform coefficient by the quantization step size.
- the quantization step size can be approximated by Equation 2 below.
- quantization step size 2 ⁇ (quantization parameter/n) / quantization scale [quantization parameter %n]
- the quantization scale [quantization parameter %n] represents a scale value indicated by the quantization parameter among n predetermined scale values. Since the HEVC codec defines six scale values (26214, 23302, 20560, 18396, 16384, and 14564), n is 6 according to the HEVC codec.
- the quantization step size and quantization error value may increase.
- the quantization error calculation unit 132 may generate a quantization error map including a quantization step size calculated from a quantization parameter as a sample value.
- samples of the quantization error map may have the same sample values calculated from the one quantization parameter.
- the quantization error calculator 132 calculates sample values for each sub-block according to quantization parameters corresponding to sub-blocks of the current block. can do.
- FIG. 2 shows sub-blocks of a current block 10, a first sub-block 11, a second sub-block 12, a third sub-block 13, and a fourth sub-block 14 according to an embodiment. It is a diagram showing a quantization error map 20 generated from quantization parameters for .
- the current block 10 may be divided into a first sub-block 11, a second sub-block 12, a third sub-block 13, and a fourth sub-block 14.
- Each of the first sub-block 11, the second sub-block 12, the third sub-block 13, and the fourth sub-block 14 may correspond to a transformation unit.
- the quantization error maps 20 corresponding to the first sub-block 11, the second sub-block 12, the third sub-block 13, and the fourth sub-block 14 Samples of the first block 21, the second block 22, the third block 23, and the fourth block 24 of ) are sample values a', b calculated from quantization parameters a, b, c, and a. You can have ', c', a'.
- sample values a', b', c', and a' may correspond to quantization error values calculated based on Equations 1 and 2 above.
- sample values a', b', c', and a' may correspond to quantization step sizes calculated based on Equation 2 above.
- quantization error calculation Section 132 is between the sub-blocks of the original block and the first sub-block 11, the second sub-block 12, the third sub-block 13 and the fourth sub-block 14 of the current block 10. It can be understood as generating a quantization error map 20 representing the difference of .
- the current block 10 is divided into four sub-blocks 11, 12, 13, and 14, but this is only an example, and the current block 10 may be divided into various numbers (eg, , 1, 2, 4, 8, etc.) and sub-blocks of various sizes.
- the current block and the quantization error map are transferred to the AI-based image processing unit 134 .
- the AI-based image processing unit 134 may obtain a first correction block by applying the current block and the quantization error map to the neural network, and transfer the first correction block to the image correction unit 138 .
- the AI-based image processing unit 134 may obtain the first modified block by applying the prediction block and/or the residual block used to reconstruct the current block together with the current block and the quantization error map to the neural network. .
- the neural network used by the AI-based image processing unit 134 may be stored in memory. Depending on the implementation, the neural network may be implemented as an AI processor.
- a neural network for processing a current block and a quantization error map will be described with reference to FIG. 3 .
- FIG. 3 is a diagram illustrating a neural network 300 according to an embodiment.
- the neural network 300 includes a first convolution layer 310, a first activation layer 320, a second convolution layer 330, a second activation layer 340, and a third convolution layer.
- a solution layer 350 and a summation layer 360 may be included.
- the summation layer 360 may also be referred to as an adder.
- the current block 10 and the quantization error map 20 are input to the first convolution layer 310 .
- the current block 10 and the quantization error map 20 may be input to the first convolution layer 310 after being concatenated.
- the quantization error map 20 shown in FIG. 3 may be divided into four blocks having different sample values.
- 3X3X1 displayed on the first convolution layer 310 exemplifies convolution processing of the current block 10 and the quantization error map 20 using one filter kernel having a size of 3X3.
- one feature map is generated by one filter kernel.
- the feature map generated by the first convolution layer 310 may indicate unique characteristics of the current block 10 and the quantization error map 20 .
- the feature map may represent vertical characteristics, horizontal characteristics, or edge characteristics of the current block 10 and the quantization error map 20 .
- the feature map output from the first convolution layer 310 is input to the first activation layer 320 .
- the first activation layer 320 may impart non-linear characteristics to the feature map.
- the first activation layer 320 may include, but is not limited to, a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, and the like.
- the first activation layer 320 When the first activation layer 320 imparts nonlinear characteristics to the feature map, it may mean that some sample values of the feature map are changed and output. At this time, the change may be performed by applying a nonlinear characteristic.
- the first activation layer 320 may determine whether to transfer sample values of the feature map to the second convolution layer 330 . For example, certain sample values among sample values of the feature map are activated by the first activation layer 320 and transferred to the second convolution layer 330, and certain sample values are activated by the first activation layer 320. It may be inactivated and not transmitted to the second convolution layer 330 . Unique characteristics of the current block 10 represented by the feature map and the quantization error map 20 may be emphasized by the first activation layer 320 .
- the feature map output from the first activation layer 320 is input to the second convolution layer 330 .
- 3X3X1 displayed on the second convolution layer 330 exemplifies convolution processing on the input feature map using one filter kernel having a size of 3X3.
- the output of the second convolution layer 330 is input to the second activation layer 340 .
- the second activation layer 340 may assign nonlinear characteristics to the input feature map.
- the feature map output from the second activation layer 340 is input to the third convolution layer 350 .
- 3X3X1 displayed on the third convolution layer 350 exemplifies convolution processing to generate one feature map using one filter kernel having a size of 3X3.
- the feature map output from the third convolution layer 350 is summed with the current block 10 in the summation layer 360, and the first modified block 30 is output as a result of the summation.
- the first modified block 30 is obtained, so the feature map output from the third convolution layer 350 is the current block. It may be referred to as the first difference block between (10) and the first correction block 30.
- the AI-based image processing unit 134 may obtain the first correction block 30 from the neural network 300 .
- the AI-based image processing unit 134 may obtain a first difference block from the neural network 300 .
- the image processing device 1600 using a neural network not including the summation layer 360 will be described later with reference to FIG. 16 .
- the neural network 300 includes three convolution layers, a first convolution layer 310, a second convolution layer 330, a third convolution layer 350, and first and second activation layers ( 320 and 340), but this is just one example, and the number of convolution layers and activation layers included in the neural network 300 may be variously changed according to the implementation.
- the neural network 300 may be implemented through a recurrent neural network (RNN).
- RNN recurrent neural network
- the current block 10 and the quantization error map 20 are input to the first convolution layer 310, the current block 10 is processed by one or more convolution layers, and Separately, the quantization error map 20 may be processed by one or more convolutional layers. The current block 10 and the quantization error map 20 individually processed by different convolution layers may be input to the first convolution layer 310 .
- the image processing device 100 may include at least one arithmetic logic unit (ALU) for the above-described convolution operation and activation layer operation.
- ALU arithmetic logic unit
- An ALU may be implemented as a processor.
- the ALU performs a multiplication operation between the sample values of the input data (eg, the current block 10 and the quantization error map 20) and the sample values of the filter kernel and the result of the multiplication. It can contain adders that add values.
- the ALU is a multiplier that multiplies the input sample value with a weight used in a predetermined sigmoid function, Tanh function, or ReLU function, and compares the multiplication result with a predetermined value to transfer the input sample value to the next layer. It may include a comparator for determining whether to transfer to .
- the image analyzer 136 may analyze characteristics of the current block reconstructed by the decoder 110 or an upper block of the current block. When characteristics analysis of the upper block is required, the upper block reconstructed by the decoder 110 may be provided to the image analyzer 136 .
- the image analyzer 136 may obtain a feature value as an analysis result of the current block or the upper block.
- the feature value may be obtained from at least one of the values exemplified below.
- v the number of non-zero transform coefficients among transform coefficients (eg, inverse transformed transform coefficients) corresponding to residual samples obtained for reconstruction of the current block or an upper block;
- Values corresponding to i), ii), iii), iv), and v) exemplified above indicate how great the energy of residual samples in the current block or upper block to be quantized and inversely quantized. If the energy of the residual samples is large, the possibility of error occurrence may increase through quantization and inverse quantization.
- the amount of error present in the current block can be predicted from the values corresponding to ix) and x).
- the image analyzer 136 may obtain a feature value by combining two or more of values corresponding to i) to x).
- a multiplication operation and/or an addition operation may be used to combine two or more values.
- the image analyzer 136 may determine a parameter based on the feature value and provide the determined parameter to the image modifier 138 .
- Parameters may include scale factors and/or clipping factors.
- the scale factor and the clipping factor will be described later.
- the image retouching unit 138 may obtain a first difference block between the current block and the first modified block. Since the neural network 300 including the summation layer 360 described above with reference to FIG. 3 finally outputs the first correction block 30, the image correction unit 138 subtracts the current block from the first correction block to obtain a second correction block. A 1st difference block can be obtained.
- the image modifier 138 may obtain a second difference block by changing sample values of the first difference block according to parameters. Also, the image retouching unit 138 may obtain a second modified block by adding the second residual block and the current block.
- the configuration of the image correction unit 138 will be described with reference to FIG. 4 .
- FIG. 4 is a diagram illustrating a configuration of an image correction unit 138 according to an exemplary embodiment.
- the image correction unit 138 may include a subtraction unit 410 , a sample value changer 420 and an adder 430 .
- the subtraction unit 410 may receive a current block and a first correction block and output a first difference block corresponding to a difference between the current block and the first correction block. In an embodiment, the subtraction unit 410 may obtain sample values of the first residual block by subtracting sample values of the current block from sample values of the first correction block.
- the sample value changer 420 may change sample values of the first difference block according to parameters provided from the image analyzer 136 and output the second difference block.
- the sample value changer 420 may obtain sample values of the second difference block by multiplying sample values of the first difference block by the scale factor.
- the sample value changer 420 limits the sample values of the first difference block to values between an upper limit value and a lower limit value determined from the clipping factor, so that the second difference block Sample values of may be obtained.
- the sample value changer 420 multiplies sample values of the first difference block by the scale factor, and samples of the first difference block multiplied by the scale factor
- Sample values of the second residual block may be obtained by limiting values to values between an upper limit value and a lower limit value determined from the clipping factor.
- sample value changer 420 limits the sample values of the first difference block to values between an upper limit value and a lower limit value determined from the clipping factor
- sample values of the second residual block may be obtained by multiplying the sample values of the first residual block limited according to the clipping factor by the scale factor.
- the adder 430 may output a second correction block by summing the current block and the second difference block.
- the reason why the image modifier 138 changes the sample values of the first residual block according to parameters is that the first residual block corresponds to the processing result of the convolutional layers. Since convolutional layers process input data according to weights previously set through training, convolutional layers have no choice but to process input data according to a predetermined training purpose.
- output data of convolution layers operating according to weights set through training that is, first difference blocks are modified according to parameters dependent on the characteristics of the current block so that the current block is suitable for the characteristics of the current block. can be filtered.
- the image retouching unit 138 may obtain a second modified block by changing sample values of the first modified block according to parameters.
- the image analyzer 136 shown in FIG. 1 may select a parameter to be applied to the first residual block from one or more candidate parameters according to a comparison result between a feature value of the current block or an upper block and a threshold value.
- FIG. 5 is a table showing a correspondence relationship between candidate parameters and features of a block according to an exemplary embodiment, and this correspondence relationship may be previously stored in the image processing device 100 .
- candidate parameters may be obtained for a current block or an upper block from encoded data.
- candidate parameters may be obtained for an upper block, the same candidate parameters may be used for lower blocks included in the upper block.
- the image analyzer 136 selects the candidate parameter 'a' as a parameter to be applied to the first residual block, and If the value is greater than or equal to the first threshold and less than or equal to the second threshold, the candidate parameter 'b' may be selected as a parameter to be applied to the first residual block. Also, if the feature value is greater than or equal to the second threshold, the image analyzer 136 may select the candidate parameter 'c' as a parameter to be applied to the first residual block.
- FIG. 5 illustrates three candidate parameters, this is only one example, and the number of candidate parameters may be determined in various ways, and conditions corresponding to each candidate parameter may also be set in various ways.
- the candidate parameters shown in FIG. 5 may be included in a parameter set selected from among one or more parameter sets.
- FIG. 6 is a table showing a correspondence relationship between parameter sets and features of a block according to an embodiment, and this correspondence relationship may be pre-stored in the image processing device 100 .
- parameter sets may be obtained from encoded data.
- parameter sets may be included in encoded data or a sequence parameter set of a bitstream.
- the parameter set 'P' includes the candidate parameters 'a', 'b', and 'c' shown in FIG. 5, and the parameter set 'Q' may include candidate parameters 'd' and 'e', and the parameter set 'R' may include candidate parameters 'a', 'g', and 'h'.
- the image analyzer 136 selects the parameter set 'P', and if the feature value is greater than or equal to the third threshold, , the parameter set 'Q' may be selected if it is less than the fourth threshold. Also, if the feature value is greater than or equal to the fourth threshold value, the image analyzer 136 may select the parameter set 'R'.
- the image analyzer 136 selects the parameter set 'P', and the feature value within the range of the feature value less than the third threshold value is shown in FIG. If the corresponding feature value is greater than or equal to the first threshold and less than the second threshold, the candidate parameter 'a' may be selected for the first residual block.
- the number of candidate parameters included in one parameter set is equal to the number of candidate parameters included in another parameter set (eg, parameter set 'Q'). The number of them may be different.
- some of the candidate parameters included in one parameter set are among candidate parameters included in another parameter set (eg, parameter set 'R'). Some may be the same.
- FIG. 6 shows three parameter sets, this is just one example, and the number of parameter sets may be determined in various ways, and conditions corresponding to each parameter set may also be set in various ways.
- a feature value used to select any one of one or more parameter sets and a feature value used to select any one of one or more candidate parameters may be calculated in different ways. For example, a feature value used to select any one of one or more parameter sets is calculated from a value corresponding to i) described above, and a feature value used to select any one of one or more candidate parameters corresponds to v) It can be calculated from the value of
- a parameter set may be selected for a block above the current block, and parameters may be selected for the current block. For example, when the current block is the largest coding unit and the upper block is a slice, any one parameter set among one or more parameter sets is selected for the slice, and any one of the candidate parameters included in the selected parameter set is selected. It may be selected for each largest coding unit in the corresponding slice.
- a parameter set may be selected for a first upper block and a parameter set may be selected for a second upper block.
- the first upper block is a picture sequence
- the second upper block is a slice
- any one parameter set among one or more parameter sets is selected for the picture sequence
- the selected parameter set is selected.
- Any one of the candidate parameters included in the parameter set may be selected for each slice in the corresponding picture sequence.
- the same parameter may be applied to maximum coding units in a slice.
- the parameter set may be selected based on the first information included in the encoded data.
- the first information may be an index or flag indicating any one of one or more parameter sets.
- the first information is selected from among a sequence parameter set, a picture parameter set, a slice header, or slice data of encoded data (or bitstream). can be obtained from at least one.
- the parameter may be selected based on the second information included in the encoded data.
- the second information may be an index or flag indicating any one of one or more candidate parameters.
- the second information may be obtained from at least one of a sequence parameter set, a picture parameter set, slice header, or slice data of encoded data (or bitstream).
- one of one or more candidate parameters included in the parameter set indicated by the first information may be selected based on a feature value of the current block or an upper block.
- one of one or more parameter sets may be selected based on a feature value of the current block or an upper block, and one of one or more candidate parameters included in the selected parameter set may be selected based on the second information. there is.
- the image analysis unit 136 shown in FIG. 1 may be excluded from the AI filter unit 130. This is because feature values of the current block or higher blocks are not used to select parameters to be applied to the first residual block.
- the first information may be included in encoded data for an upper block, and the second information may be included in encoded data for a current block.
- the upper block is a slice and the current block is a maximum coding unit
- the first information may be included in the slice header of the bitstream
- the second information may be included in slice data.
- the first information may be included in the encoded data for the first upper block, and the second information may be included in the encoded data for the second upper block.
- the first upper block is a picture sequence or picture and the second upper block is a slice
- the first information may be included in the sequence parameter set or the picture parameter set
- the second information may be included in the slice header.
- the scale factor is a value applied to sample values of the first residual block, and may include, for example, a value multiplied by the sample values of the first residual block.
- FIG. 7 is a diagram illustrating a plurality of scale factor sets according to an embodiment.
- each scale factor set may include one or more candidate scale factors.
- a first set may include candidate scale factors of 1, 0.75, 0.5, and 0.25
- a second set may include candidate scale factors of 1, 0.75, 1.25, and 0.5.
- any one of a plurality of scale factor sets is selected based on a feature value or based on information included in encoded data, and any one of the candidate scale factors included in the selected scale factor set corresponds to a feature value. based on, or based on information included in encoded data.
- the image correction unit 138 may generate a second difference block by applying the scale factor selected by the image analyzer 136 to sample values of the first difference block.
- the clipping factor is a value for performing a clipping operation on sample values of the first difference block.
- the image correction unit 138 may clip sample values of the first residual block according to Equation 3 below.
- Clip(p) clip(X, p, Y)
- Equation 3 p indicates sample values of the first difference block, X indicates a lower limit value, and Y indicates an upper limit value.
- Equation 3 if p has a value between X and Y, p is output, if p is less than X, X is output, and if p is greater than Y, Y is output.
- the image analyzer 136 may determine an X value and a Y value from the clipping factor for the first residual block.
- the image analyzer 136 may determine the clipping factor as the X value and change the sign of the X value to the opposite side to determine the Y value.
- the image analyzer 136 may determine the clipping factor as the Y value and determine the X value by changing the sign of the Y value to the opposite.
- the image analyzer 136 may perform a clipping operation using the X and Y values included in the clipping factor.
- the image analyzer 136 may calculate the X value and the Y value using at least one of the values i) to x) described above. For example, the image analyzer 136 may set a quantization parameter, a quantization step size, or a quantization error value to a residual sample value (eg, a maximum value among absolute values of residual sample values) obtained for reconstruction of a current block or an upper block. One of the X value and the Y value can be determined by multiplying by . In addition, the image analyzer 136 may change the sign of any one of the X value and the Y value to determine the other one of the X value and the Y value.
- a quantization parameter e.g, a quantization step size
- a quantization error value eg, a maximum value among absolute values of residual sample values
- AI-based filtering is applied to each of the blocks constituting an image, and blocks to which AI-based filtering is applied constitute one reconstructed image.
- blocks to which AI-based filtering is applied constitute one reconstructed image.
- AI-based filtering is applied for each block, blocks There is a possibility that artifacts may occur at the boundary between them.
- the AI-based image processing unit 134 prevents continuity between blocks from being reduced by applying an extension block including samples within the current block and samples located outside the boundary of the current block to the neural network 300. can do.
- FIG. 8 is a diagram for explaining general convolution processing.
- I1 to I25 indicated in block 800 indicate samples of block 800
- F1 to F9 indicated in filter kernel 820 indicate weights of filter kernel 820
- M1 to M9 displayed on the feature map 830 represent samples of the feature map 830
- samples P1 to P24 adjacent to the block 800 are samples determined through padding of the block 800 (hereinafter referred to as padding samples 810).
- padding samples 810 may have values of zero.
- the sample values of P1, P2, P3, P8, I1, I2, P10, I6 and I7 respectively and the F1, F2, F3, F4, F5, F6, F7, F8 and A multiplication operation for each of F9 is performed, and a value obtained by combining (eg, an addition operation) result values of the multiplication operation may be assigned as a value of M1 of the feature map 830 .
- each of the sample values of P2, P3, P4, I1, I2, I3, I6, I7 and I8 and F1, F2, F3, F4, F5 of the filter kernel 820 A multiplication operation of each of F6, F7, F8, and F9 is performed, and a value obtained by combining result values of the multiplication operation may be assigned as a value of M2 of the feature map 830.
- a feature map 830 having a size smaller than that of the block 800 is output.
- the size of the filter kernel 820 is 3X3
- the block 800 has a left direction, a right direction, and an upper direction. and padding by a sample distance of 1 in the lower direction.
- the size of the filter kernel 820 is 5X5
- 2 steps are taken in the left direction, right direction, top direction, and bottom direction of the block 800. Padding should be performed as much as the sample distance of .
- an extension block 990 having a larger size than the current block 10 in the current image 900 shown in FIG. 9 can be used instead of padding the current block to obtain a first modified block having the same size as the current block.
- samples located outside the boundary of the current block 10 are also samples included in the current image 900 . That is, by using samples adjacent to the current block 10 instead of padding the current block 10, the possibility of artifacts occurring between blocks is reduced.
- the AI-based image processing unit 134 must determine an appropriate size of the extension block so that the first correction block having the same size as the current block can be output from the neural network 300 .
- the AI-based image processing unit 134 may calculate an extension distance by considering the number of convolution layers included in the neural network 300 and the size of a filter kernel used in each convolution layer. Also, the AI-based image processing unit 134 may determine an extension block including samples corresponding to the extension distance and samples within the current block among neighboring samples outside the boundary of the current block.
- an extension distance required from a filter kernel having a size of nXn may be calculated as (n ⁇ 1)/2.
- n may be an odd number.
- the extended distance may be calculated based on a filter kernel having the largest size among the plurality of filter kernels.
- FIG. 10 is a diagram illustrating an extension block 1090 when an extension distance is determined to be 3 according to an embodiment.
- the AI-based image processing unit 134 selects neighboring samples located within an extension distance of 3 among neighboring samples located outside the boundary of the current block 10 and samples within the current block 10. It is possible to determine the extension block 1090 to include.
- a current image 1000 includes six blocks, a left block 1010, a current block 10, a right block 1020, a lower left block 1030, a lower block 1040, and
- the AI-based image processing unit 134 is located in the left block 1010 of the current block 10, and the current block 10
- neighboring samples located within an extended distance of 3 from the left edge of the current block 10 neighboring samples located within the right block 1020 of the current block 10 and located within an extended distance of 3 from the right edge of the current block 10
- neighboring samples located within the lower block 1040 of the current block 10 and located within an extended distance of 3 from the lower boundary of the current block 10 may be selected.
- the neighboring samples located in the lower left block 1030 of the current block 10 and the neighboring samples located in the lower right block 1050 of the current block 10 are also can be chosen
- the AI-based image processing unit 134 uses the nearest samples from each of the neighboring samples 1060 located outside the upper boundary of the current block 10 to the surroundings located outside the upper boundary of the current block 10. Samples 1060 may be determined.
- the values of the neighboring samples located in the leftmost column among the neighboring samples 1060 located outside the upper boundary of the current block 10 are determined as the closest sample value a, and the neighboring samples Values of neighboring samples located in the rightmost column of 1060 may be determined as the nearest sample value k.
- the AI-based image processing unit 134 applies an 11x11 extension block 1090, which is larger than the 5x5 current block 10, to the neural network 300, and the 5x5 block 1090 is the same size as the current block 10.
- a first modified block may be obtained.
- the AI-based image processing unit 134 expands An extended quantization error map having the same size as block 1090 should be generated, which will be described with reference to FIG. 11 .
- FIG. 11 is a diagram illustrating an extended quantization error map 1120 corresponding to an extended block according to an exemplary embodiment.
- the quantization error map 20 shown in FIG. 2 is shown on the left side of FIG. 11, and the extended quantization error map 1120 according to an embodiment is shown on the right side of FIG. 11.
- the current block 10 is divided into a first sub-block 11, a second sub-block 12, a third sub-block 13 and a fourth sub-block 14, and
- the quantization parameters of the first sub-block 11, the second sub-block 12, the third sub-block 13, and the fourth sub-block 14 are a, b, c, and a, respectively
- the first sub-block ( The first block 21 to the fourth block 24 in the quantization error map 20 corresponding to 11) to 4th sub-block 14 have sample values of a', b', c', and a'.
- samples are not indicated in the quantization error map 20 shown on the left side of FIG. 11, the first block 21 to the fourth block 24 include a plurality of samples, and the corresponding samples are a' and b'. , c' and a' sample values.
- a quantization error map 20 When samples in the current block 10 and neighboring samples adjacent thereto constitute an extension block, a quantization error map 20 according to the quantization parameter of a lower block to which neighboring samples located outside the boundary of the current block 10 belong. Values of the surrounding samples outside of can be determined.
- samples of the left block 1121 of the first block 21 have a value of e'
- samples of the left block 1122 of the third block 23 have a value of a' has a value
- e' and a' are quantization parameters assigned to sub-blocks located to the left of the first sub-block 11 of the current block 10 and assigned to sub-blocks located to the left of the third sub-block 13 of the current block 10. can be calculated from each of the quantization parameters.
- samples of the left lower block 1123 of the third block 23 may have a value of f'
- samples of the lower block 1124 of the third block 23 have a value of c'
- Samples of the lower block 1125 of the fourth block 24 may have a value of a'
- the samples of the lower right block 1126 of the fourth block 24 have a value of e'
- the samples of the second block 22 and the right block 1127 of the fourth block 24 have a value of d' can have a value.
- neighboring samples located outside the boundary of the current block 10 may be determined from the closest samples available to the corresponding neighboring samples.
- values of neighboring samples positioned outside the boundary of the quantization error map 20 may also be determined from the closest samples available to the neighboring samples.
- samples located outside the upper boundary of the quantization error map 20 are e', It can have values of a', b' and a'. That is, the samples of the block 1131 located in the upper left of the first block 21 are determined from the samples of the left block 1121 of the first block 21 closest to them, and the samples of the first block 21 Samples of the upper block 1130 may be determined from samples of the first block 21 closest to them.
- samples of the block 1129 located above the second block 22 are determined from the samples of the second block 22 closest to them, and the blocks located at the upper right of the second block 22 ( 1128) may be determined from the samples of the right block 1127 of the second block 22 closest to them.
- the AI-based image processing unit 134 may select a weight set to be set in the neural network 300 from among a plurality of weight sets from feature values of a current block or an upper block.
- FIG. 12 is a table showing a correspondence relationship between a plurality of weight sets and features of a block according to an embodiment.
- the correspondence shown in FIG. 12 may be previously stored in the image processing device 100 .
- Each of the plurality of weight sets may be generated as a result of training the neural network 300 .
- weight set A, weight set B, and weight set C shown in FIG. 12 may be obtained by training the neural network 300 according to different training purposes.
- Setting different training objectives may mean different types of training images used to train the neural network 300 or calculating loss information in a different way.
- loss information 1505 corresponding to the difference between the first correction block 1504 for training and the original block 1501 for training may be used in the training process of the neural network 300 shown in FIG. 15 to be described later.
- a weight set A is generated by training the neural network 300 based on the loss information 1505 calculated according to the first method, and calculated according to the second method.
- a set of B weights may be generated by training the neural network 300 based on the lost information 1505 obtained.
- the C weight set may be generated by training the neural network 300 based on the loss information 1505 calculated according to the third method.
- the AI-based image processing unit 134 adaptively sets weights of the neural network 300 based on characteristics of the current block or higher blocks, effective filtering of the current block may be possible.
- setting the neural network 300 with the weight set may mean setting the weight of the filter kernel used in the convolution layer of the neural network 300 to the weight included in the weight set.
- weight set A is selected, if the feature value is less than or equal to the first threshold value and greater than the second threshold value, weight set B is selected, and if the feature value is greater than or equal to the second threshold value, weight set B is selected. If it is less than the second threshold and greater than the third threshold, the C weight set may be selected.
- weight sets 12 shows three weight sets, but this is just one example, the number of weight sets may be determined in various ways, and conditions corresponding to each weight set may also be set in various ways.
- the feature values used to select the weight set may be calculated in a different way from the feature values used to select the parameter sets and parameters for the current block described above. For example, a feature value used to select any one of one or more parameter sets is calculated from a value corresponding to i) described above, and a feature value used to select a weight set is calculated from a value corresponding to v).
- the AI-based image processing unit 134 may select a weight set indicated by the third information included in the encoded data from among a plurality of weight sets, and set the neural network 300 to the selected weight set.
- the AI-based image processing unit 134 may determine whether to apply AI-based filtering to the current block based on characteristics of the current block or higher blocks. For example, as shown in FIG. 12 , if the feature value is less than or equal to the third threshold, the AI-based image processing unit 134 may determine that AI-based filtering is not applied to the current block. In this case, the current block may be output from the image processing device 100 .
- the AI-based image processing unit 134 may skip AI-based filtering for the current block when it is determined that AI-based filtering is not necessary based on characteristics of the current block or an upper block.
- information eg, a flag indicating whether AI-based filtering is applied to the current block is obtained from encoded data, and whether or not AI-based filtering is applied to the current block based on the obtained information. can be determined.
- FIG. 13 is a flowchart of an image processing method by the image processing device 100 according to an exemplary embodiment.
- step S1310 the image processing device 100 restores the current block by decoding the encoded data.
- Encoded data may be generated through encoding of an original block in an original image.
- the image processing device 100 may receive encoded data or a bitstream corresponding to the encoded data from an external device through a network.
- the image processing device 100 may include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks ( Encoded data or a bitstream corresponding to the encoded data may be obtained from a data storage medium including a magneto-optical medium or the like.
- the image processing device 100 obtains a quantization error map including sample values calculated from quantization parameters included in encoded data.
- step S1330 the image processing device 100 obtains a first modified block by applying the current block and the quantization error map to the neural network 300.
- the image processing device 100 may obtain the first modified block by applying the extension block and the extension quantization error map to the neural network 300 .
- the image processing device 100 transmits a feature map including feature values obtained through analysis of a current block or an upper block as sample values to the neural network 300 together with the current block and a quantization error map. may apply.
- the image processing device 100 applies the prediction block and/or residual block used to reconstruct the current block together with the current block and the quantization error map to the neural network 300 to obtain the first modified block. may also be obtained.
- step S1340 the image processing device 100 obtains a first difference block between the current block and the first correction block.
- the image processing apparatus 100 determines a parameter based on characteristics of the current block and the upper block, and obtains a second residual block by changing sample values of the first residual block according to the parameter.
- step S1360 the image processing device 100 obtains a second correction block by using the second difference block and the current block.
- FIG. 14 is a flowchart of an image processing method by the image processing device 100 according to an exemplary embodiment.
- step S1410 the image processing device 100 reconstructs the current block by decoding the encoded data.
- Encoded data may be generated through encoding of an original block in an original image.
- the image processing device 100 may receive encoded data or a bitstream corresponding to the encoded data from an external device through a network.
- the image processing device 100 may include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks ( Encoded data or a bitstream corresponding to the encoded data may be obtained from a data storage medium including a magneto-optical medium or the like.
- step S1420 the image processing device 100 obtains a feature value by analyzing the feature of the current block or an upper block of the current block.
- step S1430 the image processing device 100 determines whether AI-based filtering is applied to the current block based on the feature value.
- step S1440 the image processing device 100 determines weight sets and parameters corresponding to feature values.
- step S1450 the image processing device 100 sets the neural network 300 as a set of weights. Accordingly, the neural network 300 may operate according to the weights included in the weight set.
- step S1460 the image processing device 100 generates a quantization error map including sample values calculated from quantization parameters included in encoded data.
- the image processing device 100 obtains a first correction block by applying the quantization error map and the current block to the neural network 300 .
- the image processing device 100 may obtain the first modified block by applying the extension block and the extension quantization error map to the neural network 300 .
- the image processing device 100 transmits a feature map including feature values obtained through analysis of a current block or an upper block as sample values to the neural network 300 together with the current block and a quantization error map. may apply.
- the image processing device 100 applies the prediction block and/or residual block used to reconstruct the current block together with the current block and the quantization error map to the neural network 300 to obtain the first modified block. may also be obtained.
- step S1470 the image processing device 100 obtains a first difference block between the current block and the first correction block, determines a parameter based on characteristics of the current block or an upper block, and determines the first difference block according to the parameter A second difference block is obtained by changing sample values of .
- step S1480 the image processing device 100 obtains a second correction block by using the second difference block and the current block.
- step S1490 the image processing device 100 outputs a second modified block.
- step S1430 When it is determined in step S1430 that AI-based filtering is not applied to the current block, the image processing device 100 outputs the current block in step S1495.
- 15 is a diagram for explaining a training method of the neural network 300 according to an exemplary embodiment.
- the original block 1501 for training illustrated in FIG. 15 may correspond to the aforementioned original block, and the current block 1502 for training may correspond to the current block illustrated in FIG. 1 . Also, the quantization error map 1503 for training and the first correction block 1504 for training may correspond to the quantization error map and the first correction block shown in FIG. 1 .
- the neural network 300 is trained so that the first modified block 1504 for training output from the neural network 300 is the same as or similar to the original block 1501 for training. let it To this end, loss information 1505 corresponding to a difference between the first modified block 1504 for training and the original block 1501 for training may be used for training the neural network 300 .
- a current block 1502 for training is obtained through encoding/decoding 1510 of the original block 1501 for training.
- the current block 1502 for training and the quantization error map 1503 for training corresponding to the current block 1502 for training are input to the neural network 300, and the first correction block 1504 for training is generated from the neural network 300.
- the neural network 300 may operate according to preset weights.
- Loss information 1505 corresponding to the difference between the first correction block 1504 for training and the original block 1501 for training is calculated, and the weight set in the neural network 300 is updated according to the loss information 1505.
- the neural network 300 may update the weights so that the loss information 1505 is reduced or minimized.
- the loss information 1505 is an L1-norm value, an L2-norm value, SSIM (Structural Similarity) value, PSNR-HVS (Peak It may include at least one of a Signal-To-Noise Ratio-Human Vision System (MS-SSIM) value, a Multiscale SSIM (MS-SSIM) value, a Variance Inflation Factor (VIF) value, or a Video Multimethod Assessment Fusion (VMAF) value.
- MS-SSIM Signal-To-Noise Ratio-Human Vision System
- MS-SSIM Multiscale SSIM
- VIP Variance Inflation Factor
- VMAF Video Multimethod Assessment Fusion
- the loss information 1505 is It may correspond to a difference between the original training block 1501 and the second modified block for training.
- the 2nd correction block for training obtains a 1st difference block for training from the current block 1502 for training and the 1st correction block 1504 for training, and uses sample values of the 1st difference block for training as parameters. It can be obtained by modifying according to the second difference block for training and summing the second difference block for training and the current block 1502 for training.
- the loss information 1505 is processed according to the original block for training 1501 and one or more predetermined filtering algorithms. It may correspond to the difference between the 2nd modified blocks for training.
- Training of the neural network 300 may be performed by a training device.
- the training device may be the image processing device 100 .
- the training device may be an external server.
- the neural network 300 and weights trained by the external server may be transferred to the image processing device 100 .
- 16 is a block diagram illustrating the configuration of an image processing device 1600 according to another embodiment.
- an image processing device 1600 may include a decoder 1610 and an AI filter unit 1630.
- the AI filter unit 1630 may include a quantization error calculation unit 1632, an AI-based image processing unit 1634, an image analysis unit 1636, and an image correction unit 1638.
- Configurations of the image processing device 1600 shown in FIG. 16 are the same as those of the image processing device 100 shown in FIG. 1 , but the AI-based image processing unit 1634 uses a first difference block instead of a first correction block. The difference is in the output.
- the AI-based image processing unit 1634 may output the first residual block.
- the image correction unit 1638 changes sample values of the first difference block according to parameters provided from the image analyzer 1636 to obtain a second difference block, and combines the second difference block and the current block to obtain a second correction block. can be printed out.
- the neural network 300 shown in FIG. 15 uses a first difference block for training instead of a first correction block for training. can be printed out.
- the loss information 1505 may correspond to a difference between a difference block between the original block 1501 for training and the current block 1502 for training and a first difference block for training.
- the above-described embodiments of the present disclosure can be written as a program that can be executed on a computer, and the written program can be stored in a storage medium readable by a device.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as .
- a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
- the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- a computer program product is distributed in the form of a device/computer readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store or on two user devices (eg smartphones). ) can be distributed (e.g., downloaded or uploaded) directly between users and online.
- a part of a computer program product eg, a downloadable app
- a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (15)
- AI 기반 필터링을 위한 영상 처리 장치에 있어서,하나 이상의 인스트럭션을 저장하는 메모리; 및상기 하나 이상의 인스트럭션에 따라 동작하는 프로세서를 포함하고,상기 프로세서는,현재 블록의 부호화 데이터(encoded data)로부터 현재 블록을 복원하고,상기 부호화 데이터 내의 양자화 파라미터로부터 산출되는 샘플 값들을 포함하는 양자화 에러 맵(quantization error map)을 획득하고,상기 현재 블록 및 상기 양자화 에러 맵을 신경망에 적용하여 제 1 수정 블록(first modified block)을 획득하고,상기 현재 블록과 상기 제 1 수정 블록 사이의 제 1 차분 블록(first differential block)을 획득하고,상기 현재 블록의 특징에 의존하는 파라미터에 따라 상기 제 1 차분 블록의 샘플 값들을 변경하여 제 2 차분 블록(second differential block)을 획득하고,상기 현재 블록과 상기 제 2 차분 블록을 결합하여 제 2 수정 블록(second modified block)을 획득하는, 영상 처리 장치.
- 제1항에 있어서,상기 신경망은,상기 현재 블록 및 상기 양자화 에러 맵을 미리 설정된 가중치에 따라 컨볼루션 처리하여 상기 제 1 차분 블록을 출력하는 적어도 하나의 컨볼루션 레이어; 및상기 제 1 차분 블록과 상기 현재 블록을 합하여 상기 제 1 수정 블록을 출력하는 합산 레이어(summation layer)를 포함하는, 영상 처리 장치.
- 제1항에 있어서,상기 현재 블록의 하위 블록들을 위한 양자화 파라미터들이 상기 부호화 데이터에 포함되어 있는 경우, 상기 양자화 에러 맵의 샘플 값들은 상기 하위 블록 별로 산출되는, 영상 처리 장치.
- 제1항에 있어서,상기 프로세서는,복수의 후보 파라미터 중 상기 부호화 데이터로부터 획득한 제 1 정보가 가리키는 파라미터를 선택하고,상기 선택한 파라미터에 따라 상기 제 1 차분 블록의 샘플 값들을 변경하여 상기 제 2 차분 블록을 획득하는, 영상 처리 장치.
- 제4항에 있어서,상기 프로세서는,복수의 파라미터 세트 중 상기 부호화 데이터로부터 획득한 제 2 정보가 가리키는 파라미터 세트를 선택하고,상기 선택한 파라미터 세트 내의 상기 복수의 후보 파라미터 중 상기 제 1 정보가 가리키는 파라미터를 선택하는, 영상 처리 장치.
- 제5항에 있어서,상기 제 2 정보는, 상기 현재 블록을 포함하는 상위 블록을 위해 획득되고,상기 제 1 정보는, 상기 현재 블록을 위해 획득되는, 영상 처리 장치.
- 제1항에 있어서,상기 프로세서는,상기 파라미터의 결정을 위해, 상기 현재 블록 또는 상기 현재 블록의 상위 블록의 특징 값을 획득하는, 영상 처리 장치.
- 제7항에 있어서,상기 특징 값은,i) 상기 현재 블록 또는 상기 상위 블록의 복원을 위해 획득되는 잔차 샘플 값들을 제곱한 값들의 합, ii) 상기 잔차 샘플 값들을 제곱한 값들의 평균, iii) 상기 잔차 샘플 값들 중 최대 값, iv) 상기 잔차 샘플 값들의 절대 값들 중 최대 값, v) 잔차 샘플들에 대응하는 변환 계수들 중 0이 아닌 변환 계수들의 개수, vi) 상기 현재 블록에 대응하는 슬라이스의 타입을 나타내는 값, vii) 상기 현재 블록 또는 상기 상위 블록 내에서 인트라 예측이 적용되는 블록의 넓이와 인터 예측이 적용되는 블록의 넓이 사이의 비율, viii) 상기 현재 블록 또는 상기 상위 블록의 선명도(sharpness), ix) 상기 현재 블록 또는 상기 상위 블록에 대해 설정되는 하나 이상의 양자화 파라미터로부터 산출되는 하나 이상의 양자화 스텝 사이즈의 평균, 또는 x) 상기 하나 이상의 양자화 파라미터로부터 산출되는 하나 이상의 양자화 에러 값의 평균 중 적어도 하나로부터 획득되는, 영상 처리 장치.
- 제1항에 있어서,상기 파라미터는, 스케일 팩터를 포함하고,상기 프로세서는,상기 스케일 팩터에 따라 상기 제 1 차분 블록의 샘플 값들을 스케일링하여 상기 제 2 차분 블록을 획득하는, 영상 처리 장치.
- 제1항에 있어서,상기 파라미터는, 클리핑 팩터(clipping factor)를 포함하고,상기 프로세서는,상기 제 1 차분 블록의 샘플 값들이, 상기 클리핑 팩터에 대응하는 상한 값과 하한 값 사이에 포함되도록 상기 제 1 차분 블록의 샘플 값들을 클리핑하여 상기 제 2 차분 블록을 획득하는, 영상 처리 장치.
- 제1항에 있어서,상기 프로세서는,상기 현재 블록 또는 상기 현재 블록의 상위 블록의 특징 값을 획득하고,복수의 가중치 세트 중 상기 특징 값에 대응하는 가중치 세트를 선택하되,상기 현재 블록과 상기 양자화 에러 맵은, 상기 선택한 가중치 세트에 따라 동작하는 신경망에 의해 처리되는, 영상 처리 장치.
- 제1항에 있어서,상기 프로세서는,상기 현재 블록 또는 상기 현재 블록의 상위 블록의 특징 값을 획득하고,상기 획득한 특징 값에 기초하여, 상기 현재 블록에 대해 상기 AI 기반 필터링을 적용할지 여부를 결정하는, 영상 처리 장치.
- 제1항에 있어서,상기 프로세서는,상기 신경망 내의 컨볼루션 레이어의 개수 및 컨볼루션 레이어에서 이용되는 필터 커널의 크기에 따라 확장 거리(extension distance)를 산출하고,현재 영상 내에서 상기 현재 블록의 경계 외부의 주변 샘플들 중 상기 확장 거리에 대응하는 주변 샘플들과 상기 현재 블록의 샘플들로 이루어진 확장 블록을 상기 신경망에 적용하는, 영상 처리 장치.
- 현재 블록의 부호화 데이터로부터 현재 블록을 복원하는 단계;상기 부호화 데이터 내의 양자화 파라미터로부터 산출되는 샘플 값들을 포함하는 양자화 에러 맵을 획득하는 단계;상기 현재 블록 및 상기 양자화 에러 맵을 신경망에 적용하여 제 1 수정 블록을 획득하는 단계;상기 현재 블록과 상기 제 1 수정 블록 사이의 제 1 차분 블록을 획득하는 단계;상기 현재 블록의 특징에 의존하는 파라미터에 따라 상기 제 1 차분 블록의 샘플 값들을 변경하여 제 2 차분 블록을 획득하는 단계; 및상기 현재 블록과 상기 제 2 차분 블록을 결합하여 제 2 수정 블록을 획득하는 단계를 포함하는, 영상 처리 방법.
- 제14항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| MX2024001286A MX2024001286A (es) | 2021-08-06 | 2022-08-02 | Dispositivo y metodo para filtrado de imagenes basado en inteligencia artificial (ia). |
| IL309915A IL309915A (en) | 2021-08-06 | 2022-08-02 | Device and method for image filtering based on artificial intelligence |
| CA3226754A CA3226754A1 (en) | 2021-08-06 | 2022-08-02 | Device and method for ai-based filtering of image |
| JP2024504891A JP2024527952A (ja) | 2021-08-06 | 2022-08-02 | 映像に対するai基盤フィルタリングのための装置及びその方法 |
| AU2022321329A AU2022321329A1 (en) | 2021-08-06 | 2022-08-02 | Device and method for ai-based filtering of image |
| CN202280054988.2A CN117882372A (zh) | 2021-08-06 | 2022-08-02 | 用于图像的基于ai的滤波的装置和方法 |
| EP22853442.6A EP4383708A4 (en) | 2021-08-06 | 2022-08-02 | AI-BASED IMAGE FILTERING DEVICE AND METHOD |
| US17/880,840 US12231646B2 (en) | 2021-08-06 | 2022-08-04 | Apparatus and method for applying artificial intelligence-based filtering to image |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20210104202 | 2021-08-06 | ||
| KR10-2021-0104202 | 2021-08-06 | ||
| KR10-2022-0028221 | 2022-03-04 | ||
| KR1020220028221A KR20230022093A (ko) | 2021-08-06 | 2022-03-04 | 영상에 대한 ai 기반 필터링을 위한 장치 및 방법 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/880,840 Continuation US12231646B2 (en) | 2021-08-06 | 2022-08-04 | Apparatus and method for applying artificial intelligence-based filtering to image |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023014065A1 true WO2023014065A1 (ko) | 2023-02-09 |
Family
ID=85156209
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/011429 Ceased WO2023014065A1 (ko) | 2021-08-06 | 2022-08-02 | 영상에 대한 ai 기반 필터링을 위한 장치 및 방법 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2023014065A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119728962A (zh) * | 2023-04-14 | 2025-03-28 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法、装置及其设备 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200016885A (ko) * | 2017-07-06 | 2020-02-17 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| KR20200114436A (ko) * | 2019-03-28 | 2020-10-07 | 국방과학연구소 | 스케일러블 영상 부호화를 수행하는 장치 및 방법 |
| US20200382794A1 (en) * | 2019-05-30 | 2020-12-03 | Fujitsu Limited | Storage medium, encoding device, decoding device, encoding method, and decoding method |
| KR102272660B1 (ko) * | 2019-12-30 | 2021-07-02 | 이화여자대학교 산학협력단 | 전방위 몰입형 비디오에 대한 적응적 디블로킹 필터 적용 방법 및 디코딩 장치 |
| US20210241421A1 (en) * | 2019-07-05 | 2021-08-05 | Baidu Usa Llc | Systems and methods for multispectral image demosaicking using deep panchromatic image guided residual interpolation |
-
2022
- 2022-08-02 WO PCT/KR2022/011429 patent/WO2023014065A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200016885A (ko) * | 2017-07-06 | 2020-02-17 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| KR20200114436A (ko) * | 2019-03-28 | 2020-10-07 | 국방과학연구소 | 스케일러블 영상 부호화를 수행하는 장치 및 방법 |
| US20200382794A1 (en) * | 2019-05-30 | 2020-12-03 | Fujitsu Limited | Storage medium, encoding device, decoding device, encoding method, and decoding method |
| US20210241421A1 (en) * | 2019-07-05 | 2021-08-05 | Baidu Usa Llc | Systems and methods for multispectral image demosaicking using deep panchromatic image guided residual interpolation |
| KR102272660B1 (ko) * | 2019-12-30 | 2021-07-02 | 이화여자대학교 산학협력단 | 전방위 몰입형 비디오에 대한 적응적 디블로킹 필터 적용 방법 및 디코딩 장치 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119728962A (zh) * | 2023-04-14 | 2025-03-28 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法、装置及其设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020009357A1 (ko) | Cclm에 기반한 인트라 예측 방법 및 그 장치 | |
| WO2018030599A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| WO2020071616A1 (ko) | Cclm에 기반한 인트라 예측 방법 및 그 장치 | |
| WO2017026681A1 (ko) | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 | |
| WO2011068360A2 (ko) | 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치 | |
| WO2018038554A1 (ko) | 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치 | |
| WO2013157825A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
| WO2020055107A1 (ko) | 영상 코딩 시스템에서 어파인 mvp 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
| WO2016190627A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
| WO2021172834A1 (en) | Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image by using pre-processing | |
| WO2020013569A1 (ko) | 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
| WO2016195455A1 (ko) | 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 | |
| WO2020060258A1 (ko) | 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치 | |
| EP3811617A1 (en) | Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image | |
| WO2016204524A1 (ko) | 영상의 부호화/복호화 방법 및 이를 위한 장치 | |
| WO2022139438A1 (ko) | 딥러닝 기반 이미지 코딩 방법 및 장치 | |
| WO2020060256A1 (ko) | 영상 코딩 시스템에서 cclm 예측을 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2022177383A1 (ko) | Ai 기반의 영상의 부호화 및 복호화 장치, 및 이에 의한 방법 | |
| WO2023014065A1 (ko) | 영상에 대한 ai 기반 필터링을 위한 장치 및 방법 | |
| WO2020032526A1 (ko) | 영상 코딩 시스템에서 컨스트럭티드 어파인 mvp 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
| WO2010019002A2 (ko) | H.264 표준의 영상 프레임에서 섬네일 이미지를 생성하는 방법 | |
| WO2024039024A1 (ko) | 적응적 양자화 및 역양자화를 위한 영상 복호화 장치, 영상 부호화 장치 및 이에 의한 방법 | |
| WO2013168952A1 (ko) | 인터 레이어 예측 방법 및 이를 이용하는 장치 | |
| WO2024080623A1 (ko) | Ai에 기반한 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 | |
| WO2023043154A1 (ko) | Ai를 이용하여 영상을 부호화 및 복호화하는 장치, 및 방법 |
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: 22853442 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 309915 Country of ref document: IL |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112023027752 Country of ref document: BR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 3226754 Country of ref document: CA |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202447004582 Country of ref document: IN |
|
| ENP | Entry into the national phase |
Ref document number: 2024504891 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2024/001286 Country of ref document: MX |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280054988.2 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022321329 Country of ref document: AU Ref document number: AU2022321329 Country of ref document: AU |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024104950 Country of ref document: RU |
|
| ENP | Entry into the national phase |
Ref document number: 2022321329 Country of ref document: AU Date of ref document: 20220802 Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2022853442 Country of ref document: EP Effective date: 20240306 |
|
| ENP | Entry into the national phase |
Ref document number: 112023027752 Country of ref document: BR Kind code of ref document: A2 Effective date: 20231228 |