WO2017043769A1 - 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 - Google Patents
부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 Download PDFInfo
- Publication number
- WO2017043769A1 WO2017043769A1 PCT/KR2016/008441 KR2016008441W WO2017043769A1 WO 2017043769 A1 WO2017043769 A1 WO 2017043769A1 KR 2016008441 W KR2016008441 W KR 2016008441W WO 2017043769 A1 WO2017043769 A1 WO 2017043769A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pixels
- candidate
- block
- cost
- encoding
- Prior art date
Links
Images
Classifications
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- 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/146—Data rate or code amount at the encoder output
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/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/182—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 a pixel
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention relates to an encoding apparatus, a decoding apparatus, and an encoding and decoding method thereof, and more particularly, to an encoding apparatus, a decoding apparatus, and an encoding and decoding method capable of improving compression performance.
- High efficiency image compression techniques can be utilized to solve these problems caused by high resolution and high quality image data.
- the conventional encoding / decoding technique based on H.264, HEVC, and the like is a method of allocating one bit per pixel to sign information of a pixel including a non-zero transform coefficient of a transform coefficient block. Compression was performed.
- this conventional method since the code information of a pixel including at least one non-zero transform coefficient selected in the transform coefficient block must be compressed and signaled to the decoding apparatus, there is a problem in that compression efficiency is low.
- the present invention has been made to solve the above problems, and an object of the present invention is to provide a coding apparatus, a decoding apparatus, which can improve encoding and decoding performance by reducing the number of bits necessary to represent a code of a non-zero transform coefficient.
- the present invention provides an encoding and decoding method.
- an encoding apparatus for encoding a bit stream including an image frame includes a plurality of pixels including non-zero transform coefficients in a transform coefficient block constituting the image frame.
- a selection unit to select a plurality of code candidate groups including combinations of codes assignable to non-zero transform coefficients of the selected plurality of pixels, and generate the non-zero transform coefficients according to the generated plurality of code candidate groups.
- An inverse transform unit that performs inverse transform on each transform coefficient block assigned to a code to generate candidate reconstructed blocks, pixel values of the selected plurality of pixels among the generated candidate reconstructed blocks, and other adjacent to the selected plurality of pixels.
- a cost calculator for calculating a cost based on a pixel value difference from the pixel, and based on the calculated cost
- a coder for assigning different preset codewords to the plurality of code candidate groups, and encoding one codeword among the codewords into code information of non-zero transform coefficients of the selected plurality of pixels.
- the selector may select a predetermined number of pixels in order of increasing transform coefficient values in a predetermined region of the transform coefficient blocks constituting the image frame.
- the encoder may allocate a codeword having the smallest number of bits among the preset codewords to a candidate group having the smallest cost among the plurality of candidate groups, and assign a codeword having the smallest number of bits to each pixel. It may be encoded by sign information of the included non-zero transform coefficients.
- the encoder may allocate a codeword '0' to a candidate group having the smallest cost.
- the inverse transform unit may include a reconstructed block in which an inverse transform is performed on each block in which a transform coefficient included in the remaining pixels except for the selected one pixel of the transform coefficient block is replaced with 0, and the selected plurality of selected transform coefficient blocks.
- a reconstructed block may be generated by performing an inverse transform on a block in which all of the pixels of 0 are replaced with zero, and the candidate reconstructed block may be generated through a sum or a difference of the generated reconstructed blocks.
- the cost calculator may include a boundary matching cost based on a pixel value difference between pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and other pixels in another reconstructed block adjacent to the selected plurality of pixels. boundary matching cost) can be calculated.
- the cost calculator may calculate a variation cost based on a pixel value difference between adjacent pixels in the generated candidate reconstruction block.
- an encoding method for encoding a bit stream including an image frame includes selecting a plurality of pixels including non-zero transform coefficients from a transform coefficient block constituting the image frame. Generating a plurality of code candidate groups including combinations of codes assignable to non-zero transform coefficients of the selected plurality of pixels, wherein the code is assigned to the non-zero transform coefficients according to the generated plurality of code candidate groups.
- the selecting may include selecting a predetermined number of pixels in order of increasing transform coefficient values from a predetermined region among the transform coefficient blocks constituting the image frame.
- the encoding may include assigning a codeword having the smallest number of bits among the preset codewords to a candidate group having the smallest cost among the plurality of candidate groups, and assigning the codeword having the smallest number of bits to the candidate group having the smallest cost. It may be encoded by sign information of non-zero transform coefficients included in a pixel.
- the codeword '0' may be allocated to the candidate group having the smallest cost.
- the generating of the candidate reconstructed blocks may include: a reconstructed block having inverse transformed on each block in which transform coefficients included in the remaining pixels except for the selected one of the transform coefficient blocks are replaced with 0; Generating a reconstruction block in which an inverse transform is performed on a block in which all of the selected plurality of pixels of the transform coefficient block are replaced with 0, and generating the candidate reconstruction block by adding or disabling the generated reconstruction blocks It may include.
- the calculating of the cost may be based on a pixel value difference between a pixel value of the selected plurality of pixels among the generated candidate reconstruction blocks and another pixel in another reconstructed block adjacent to the selected plurality of pixels.
- Each boundary matching cost may be calculated.
- a variation cost may be calculated based on a difference in pixel values between adjacent pixels in the generated candidate reconstruction block.
- the decoding apparatus for decoding a bit stream including an image frame encodes with code information of non-zero transform coefficients included in a plurality of pixels selected from a transform coefficient block constituting an image frame.
- a cost calculator which calculates a cost based on a pixel value difference between and a codeword, and assigns different preset codewords to the plurality of code candidate groups based on the calculated cost
- the selector may select a predetermined number of pixels in order of increasing transform coefficient values in a predetermined region of the transform coefficient blocks constituting the image frame.
- the decoder may allocate a codeword having the smallest number of bits among the preset codewords to a candidate group having the smallest cost among the plurality of candidate groups.
- the video compression performance can be improved by saving the size of information representing the sign of the pixel value of the non-zero transform coefficient.
- FIG. 1 is a block diagram showing a configuration of an encoding apparatus according to an embodiment of the present invention
- FIG. 2 is a block diagram illustrating an encoding process according to an embodiment of the present invention
- FIG. 3 is a flowchart illustrating a process of signaling a codeword corresponding to an original code in an encoding apparatus according to an embodiment of the present invention
- FIG. 4 is a diagram for describing a method of selecting a code candidate to be encoded according to an embodiment of the present invention
- FIG. 5 is a block diagram showing a configuration of a decoding apparatus according to an embodiment of the present invention.
- FIG. 6 is a flowchart illustrating a process of determining an original code in a decoding apparatus according to an embodiment of the present invention
- FIG. 7 and 8 are diagrams for describing a method of calculating a boundary matching cost according to various embodiments of the present disclosure
- FIG. 9 is a diagram for describing a method of aligning code candidates based on a calculated cost according to one embodiment of the present invention.
- FIG. 10 is a diagram for describing a method of determining and signaling a code candidate according to an embodiment of the present invention
- 11A through 11E are diagrams for describing a method of generating a candidate reconstruction block corresponding to each code candidate according to an embodiment of the present invention.
- 12A to 12D are diagrams for describing a method of generating a candidate reconstruction block corresponding to each code candidate according to another embodiment of the present invention.
- 13 to 16 are diagrams for describing a method for encoding an MVD code into a codeword according to an embodiment of the present invention
- FIG. 17 is a simplified block diagram of an encoding apparatus according to another embodiment of the present invention.
- FIG. 18 is a simplified block diagram of a decoding apparatus according to another embodiment of the present invention.
- 19 is a flowchart illustrating an encoding method according to an embodiment of the present invention.
- ordinal numbers such as “first” and “second” may be used to distinguish between components. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the terms should not be construed as limited by the use of these ordinal numbers. For example, the components combined with these ordinal numbers should not be construed as limiting the order of use or arrangement of the components. If necessary, the ordinal numbers may be used interchangeably.
- modules such as “module”, “unit”, “part”, and the like are terms for referring to a component that performs at least one function or operation, and such components are referred to as hardware or software. It may be implemented or in a combination of hardware and software.
- a plurality of "modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except that each needs to be implemented as a specific specific hardware, at least one processor It may be implemented as (not shown).
- a part when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
- the meaning that a part includes a certain component means that it may further include other components, without excluding other components, unless specifically stated otherwise.
- the encoding apparatus 100 includes a selector 110, an inverse transform unit 120, a cost calculator 130, and an encoder 140.
- the selector 110 selects a plurality of pixels including non-zero transform coefficients from the transform coefficient blocks constituting the image frame.
- the selector 110 may select a predetermined number of pixels in order of increasing transform coefficient values in a predetermined region among the transform coefficient blocks constituting the image frame.
- the inverse transform unit 120 generates a plurality of code candidate groups including combinations of codes that can be assigned to non-zero transform coefficients of a plurality of selected pixels. That is, the soft transform unit 120 removes the sign of the non-zero transform coefficients of the selected plurality of pixels, and adds to the combination of signs (+ or-) that can be assigned to the non-zero transform coefficients of the plurality of pixels from which the sign is removed. As many number of cases as the number of code candidates can be generated.
- the selector 110 For example, if the number of pixels selected by the selector 110 is two, the combination of codes assignable to each pixel is (+, +), (+,-), (-, +), (-, 4) can be generated accordingly. Similarly, if the number of selected pixels is five, twenty five code combinations are possible, and thus twenty five code candidate groups can be generated.
- the inverse transform unit 120 may generate candidate reconstructed blocks by performing an inverse transform on each transform coefficient block in which a code is assigned to the non-zero transform coefficients according to the generated plurality of code candidate groups.
- the cost calculator 130 calculates costs based on a pixel value difference between the pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and other pixels adjacent to the selected plurality of pixels.
- the cost calculator 130 may be configured to perform a co-relation of pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and pixel values of other pixels in another reconstructed block adjacent to the selected plurality of pixels.
- a matching error for each candidate reconstruction block may be calculated based on the result.
- a matching error based on co-relation is calculated at a specific cost based on the difference between the pixel value of the selected plurality of pixels and the pixel value of another pixel in another restored block adjacent to the selected plurality of pixels. Can be.
- the calculated cost may also be referred to as a boundary matching cost.
- the encoder 140 assigns different preset codewords to a plurality of code candidate groups based on the calculated cost, and sets a codeword among the codewords allocated to each code candidate group to the selected plurality of pixels. Coded by code information of zero transform coefficients.
- the codeword may be implemented by unary code such as 0, 10, 110, 1110.
- VLC code there is no limitation on the implementation method of the codeword and can be implemented in various ways including VLC code.
- the encoder 140 may allocate the codeword '0' to the code group having the smallest cost, and in order of decreasing cost, such as '0', '10', '110' '1110', and the like. Codewords can be assigned.
- FIG. 2 is a block diagram illustrating an encoding process according to an embodiment of the present invention.
- the encoding apparatus 100 may perform encoding on an input image in an optimal mode of an intra mode or an inter mode and output a bit stream.
- Intra prediction means intra prediction and inter prediction means inter prediction.
- the switch In the intra mode, the switch is switched to intra, and in the inter mode, the switch is switched to inter.
- the encoding apparatus 100 may generate a prediction block for the input block of the input image and then encode the difference between the input block and the prediction block.
- the encoding apparatus 100 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
- the encoding apparatus 100 may obtain a motion vector by finding a region that best matches an input block in the reference image stored in the reference image buffer 190 during the motion prediction process.
- the input block and the generated prediction block are differentiated by a subtractor to generate a residual block, transform is performed on the residual block, and a transform coefficient is output.
- the input transform coefficient may be quantized by the quantization parameter to output a quantized coefficient.
- the encoder 140 may entropy-encode a symbol according to a probability distribution based on values calculated through quantization or an encoding parameter value calculated in an encoding process, and output a bit stream.
- the symbol means a syntax element, a coding parameter, a residual signal value, or the like that is to be encoded / decoded.
- the encoding parameter is a parameter necessary for encoding and decoding, and may include information that may be inferred in the encoding or decoding process, as well as information encoded by the encoding apparatus 100 and transmitted to the decoding apparatus 200, such as a syntax element. It refers to information necessary when encoding or decoding an image. Coding parameters may include, for example, intra / inter prediction modes, moving / motion vectors, reference picture indexes, coding block patterns, presence or absence of residual signals, transform coefficients, quantized transform coefficients, quantization parameters, block sizes, block division information, or the like. May include statistics.
- the residual signal may mean a difference between the original signal and the prediction signal, and a signal in which the difference between the original signal and the prediction signal is transformed or a signal in which the difference between the original signal and the prediction signal is converted and quantized It may mean.
- the residual signal may be referred to as a residual block in block units.
- coding methods such as exponential golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC) may be used.
- the encoder 140 may store a table for performing entropy encoding, such as a variable length coding (VLC) table, and the encoder 140 stores the stored variable length coding (VLC). ), Entropy encoding can be performed.
- the encoder 140 derives a binarization method of the target symbol and a probability model of the target symbol / bin, and then performs entropy encoding using the derived binarization method or the probability model. It may be.
- Quantized coefficients can be inverse quantized and inverse transformed.
- the inverse quantized and inverse transformed coefficients may be added to the prediction block through an adder to generate a reconstruction block.
- the reconstruction block passes through a filter, and the filter may apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture.
- the reconstructed block that has been filtered may be stored in the reference picture buffer.
- the operation of selecting a plurality of pixels including non-zero transform coefficients, generating a plurality of code candidate groups, and calculating a cost may be performed between the transform and quantization steps and the inverse quantization and inverse transform steps.
- the operation of generating a candidate reconstruction block by performing inverse transform may be performed in an inverse transform step.
- the selector 110 and the cost calculator 130 may be configured to perform an operation 21 between a transform and quantization step and an inverse quantization and inverse transform step, and the selector 110 and the cost calculator ( When 130 is configured to perform an operation in the inverse transform unit 140, the selector 110 and the cost calculator 130 may be collectively referred to as an inverse transform unit 140 by being distinguished from other components.
- FIG. 3 is a flowchart illustrating a process of signaling a codeword corresponding to an original code in an encoding apparatus according to an embodiment of the present invention.
- a sign candidate to be encoded is selected (S41).
- a predetermined number of pixels may be selected in the order of increasing transform coefficient values in a predetermined region among the transform coefficient blocks constituting the image frame.
- the cost corresponding to the code candidates is calculated (S42).
- the cost may be calculated based on a pixel value difference between a pixel value of the selected plurality of pixels among the candidate reconstruction blocks generated according to the selected plurality of code candidate groups and another pixel adjacent to the selected plurality of pixels.
- the cost is based on the difference in pixel values at the boundary between the generated candidate reconstructed block and another adjacent reconstructed block (boundary matching cost) or pixel values between adjacent pixels in the generated candidate reconstructed block. It can be calculated by the method based on the difference (variance cost).
- a codeword is assigned to the aligned code candidates (S43).
- Different preset codewords may be allocated to the aligned code candidate group, and a codeword having the smallest number of bits among the preset codewords may be allocated to the candidate group having the smallest cost among the plurality of candidate groups.
- the codeword consisting of the smallest number of bits is encoded with sign information of non-zero transform coefficients included in each pixel.
- the codeword '0' may be allocated to the candidate group having the smallest cost.
- the selector 110 may designate a specific area to select a plurality of pixels including the non-zero transform coefficients to be encoded.
- the plurality of pixels including the selected non-zero transform coefficients correspond to pixels for encoding sign information of the transform coefficients of the corresponding pixel into a codeword.
- the selector 110 includes a non-zero transform coefficient of a DC component region 31 in which energy is relatively concentrated in a transform coefficient block in which DCT (Discrete Cosine Transform) and quantization are performed.
- DCT Discrete Cosine Transform
- the selector 110 may select a predetermined number of pixels in the order in which the transform coefficient values are large in the designated area 31. Preferably, the selector 110 may select 3 to 5 pixels in the designated area 31. However, the number of pixels to be selected may vary depending on various conditions of the transform coefficient block. The following table shows the most efficient number of selections according to the luminance component, the color difference component, and the TU size in the intra CU and the inter CU.
- Table 1 TU size Intra CU Inter CU Luma component 4X4 Not used up to 5 8X8 up to 3 up to 5 16X16 up to 4 up to 5 32X32 up to 4 up to 5 Chroma Ingredients 4X4 up to 3 up to 5 8X8 up to 3 up to 5 16X16 up to 3 up to 5
- the decoding apparatus 200 includes a parser 210, a selector 220, an inverse transform unit 230, a cost calculator 240, and a decoder 250.
- the parsing unit 210 parses a codeword encoded with code information of non-zero transform coefficients included in a plurality of pixels selected from a transform coefficient block constituting an image frame.
- the selector 220 selects a plurality of pixels to be decoded in the transform coefficient block constituting the image frame.
- the selecting unit 220 of the decoding apparatus 200 has the same operation as that of the selecting unit 110 of the encoding apparatus 100.
- the selector 220 may select a predetermined number of pixels in order of increasing transform coefficient values in a predetermined region among the transform coefficient blocks constituting the image frame.
- the inverse transform unit 230 generates a plurality of candidate groups including combinations of codes assignable to non-zero transform coefficients of the plurality of pixels selected by the selector 220, and generates non-zero values according to the generated plurality of code candidate groups. Inverse transform is performed on each transform coefficient block assigned a sign to the transform coefficients to generate candidate reconstruction blocks.
- the operation of the inverse transformer 230 is the same as that of the inverse transformer 120 of the encoding apparatus 100, and the operation of the inverse transformer 120 of the encoding apparatus 100 has been described with reference to FIG. 1, and thus, a detailed description thereof is omitted. Let's do it.
- the cost calculator 240 is configured to calculate a cost based on a pixel value difference between the pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and other pixels adjacent to the selected plurality of pixels. Since the cost calculator 240 has the same operation as that of the cost calculator 130 of the encoding apparatus 100, a detailed description thereof will be omitted.
- the decoder 250 allocates different predetermined codewords to a plurality of code candidate groups based on the calculated cost, and selects a plurality of pixels according to the candidate groups to which codewords corresponding to the parsed codewords are assigned. Determine the sign of the non-zero transform coefficients.
- the decoder 250 performs an operation opposite to the encoder 140 of the encoder 100 to decode a bit stream including an image frame.
- FIG. 6 is a flowchart illustrating a process of determining an original code in a decoding apparatus according to an embodiment of the present invention.
- the decoding process of the decoding apparatus 200 may be configured in a reverse order to the encoding process of the encoding apparatus 100 described with reference to FIG. 4.
- a codeword including sign information of non-zero transform coefficients is parsed from a bit stream received from an encoding apparatus (S610).
- an operation of selecting a code candidate to be encoded from non-zero transform coefficients that do not include code information S620
- an operation of calculating a cost for the selected code candidates S630
- a code candidate based on the calculated cost Since the sorting operation S640 and the assigning codewords to the sorted code candidates S650 are the same as those of the encoding apparatus 100 described with reference to FIG. 4, detailed descriptions thereof will be omitted.
- a code candidate corresponding to the parsed codeword is determined as the original code (S660). According to the code candidate determined as the original code, a code can be assigned to a non-zero transform coefficient that does not include a code.
- steps S620 to S650 may be performed before the step S610 after the codeword is parsed.
- FIG. 7 and 8 are diagrams for describing a method of calculating a cost according to various embodiments of the present disclosure.
- the cost calculator 130 may determine a pixel value difference between a pixel value of a plurality of selected pixels among the generated candidate reconstruction blocks and another pixel in another reconstructed block adjacent to the selected plurality of pixels. Based on the boundary matching cost (boundary matching cost) can be calculated.
- the selector 110 of the encoding apparatus 100 may set an area for selecting a predetermined number of pixels in the transform coefficient block.
- the predetermined region is preferably a DC component region in which energy is relatively concentrated in a transform coefficient block in which DCT (Discrete Cosine Transform) and quantization are performed.
- DCT Discrete Cosine Transform
- pixels a to n present in the first row and the first column of the transform coefficient block are set as regions for selecting a predetermined number of pixels.
- the inverse transform unit 120 generates a plurality of code candidate groups including combinations of codes that can be assigned to respective non-zero transform coefficients of a predetermined number of pixels selected in the corresponding areas a to n, and each generated A candidate reconstruction block obtained by performing inverse transform on a transform coefficient block to which a code according to a code candidate group is assigned may be generated.
- the cost calculator 130 may calculate a cost based on a pixel value difference between the pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and other pixels adjacent to the selected plurality of pixels.
- the cost calculator 130 may include a pixel value of a selected pixel among the a to n pixel areas of each candidate reconstructed block, and the other pixel A in another reconstructed block adjacent to the selected pixel.
- the cost may be calculated by calculating a boundary matching error value based on the pixel value difference from ⁇ N).
- the cost calculated according to this method will be referred to as a boundary matching cost.
- boundary matching cost may be calculated by the following equation.
- boundary matching cost according to another embodiment may be calculated by the following equation.
- the encoding apparatus 100 is matched at the boundary between the transform coefficient block and the other blocks reconstructed when the pixels in the boundary with the other blocks previously reconstructed in the transform coefficient block are selected as the pixels for generating the code candidate group.
- the boundary matching cost may be calculated based on the difference in pixel values between the pixels that touch each other.
- the probability that the candidate reconstruction block having the smallest boundary matching cost is the original transform coefficient block before the code is removed is the highest, and accordingly, the encoding unit 140 has a small number of the candidate candidate blocks of the candidate reconstruction block having the smallest boundary matching cost. Codewords having the smallest number of bits among preset codewords may be encoded as code information.
- FIG. 8 illustrates a method of calculating a cost according to another embodiment of the present invention.
- the cost calculator 130 may calculate a cost by calculating a variation value based on a pixel value difference between adjacent pixels in the generated candidate reconstruction block.
- the cost calculated according to this method will be referred to as a variation cost.
- variation cost may be calculated by the following equation.
- the cost calculator 130 may calculate the variation cost as a measure of the similarity between pixel values of the pixels in the candidate reconstruction block, and the original before the code is removed from the candidate reconstruction block having the lowest variation cost. It is most likely to be a transform coefficient block, and accordingly, the encoding unit 140 uses a codeword of the smallest number of bits among preset codewords as code information for the code candidate group of the candidate reconstruction block having the lowest variation cost. Can be encoded.
- code information is probabilisticly encoded and decoded using a cost that is an index indicating similarity based on the high similarity of pixel values between adjacent pixels. It is.
- FIG. 9 is a diagram for describing a method of sorting sign candidates based on a calculated cost according to an embodiment of the present invention.
- the encoder 140 may sort the code candidate groups based on the cost calculated for the candidate reconstruction blocks according to the plurality of code candidate groups. In this case, the encoder 140 may sort the code candidate groups in descending or ascending order based on the cost.
- the encoder 140 costs the cost. It can be determined that the smallest (-,-) code candidate group has the highest probability of being code information of the original transform coefficient block. In this case, the encoder 140 may align the code candidate groups so that the (-,-) code candidate groups having the smallest cost are aligned at the top.
- FIG. 10 is a diagram for describing a method of determining and signaling a sign candidate according to an embodiment of the present invention.
- the encoder 140 may allocate different unary codes to each code candidate group.
- the encoder 140 may allocate the codeword '0' to the (-,-) code candidate group having the smallest cost, and code for the (+, +) code candidate group having the second smallest cost.
- the word '10' can be assigned.
- the encoder 140 may allocate the codeword '110' to the (+,-) code candidate group having the third smallest cost, and code for the (-, +) code candidate group having the largest cost.
- the word '1110' can be assigned.
- '111' may be allocated by omitting 0 in the codeword '1110'.
- the implementation method of the codeword is not limited to this, and it can be implemented in various ways including the VLC code instead of the unary code as described above.
- 11A through 11E are diagrams for describing a method of generating a candidate reconstruction block corresponding to each sign candidate according to an embodiment of the present invention.
- FIG. 11A illustrates a method for encoding code information of two pixels 111 and 112 including a non-zero transform coefficient in a 4 ⁇ 4 TU into a codeword.
- the inverse transform unit 120 combines a code assignable to non-zero transform coefficients of the selected pixel.
- Code candidate groups (+, +), (+,-), (-, +) and (-,-) are generated.
- the combination of the non-zero transform coefficients of the pixels 111 and 112 corresponding to each code candidate group is (+8, +2), (+8, -2), (-8, +2), and (- 8, -2).
- candidate reconstruction blocks may be generated by performing inverse transform on each transform coefficient block in which a code is assigned to non-zero transform coefficients according to each code candidate group.
- a total of four inverse transforms must be performed for each transform coefficient block.
- the number of times the inverse transform is performed may be reduced by using the linear property of the inverse transform.
- the inverse transform unit 120 converts all transform coefficient values of pixels 113, 114, and 115 having non-zero transform coefficients except one pixel 111 out of the selected pixels to zero. Substituted transform coefficient blocks can be generated.
- the inverse transform unit 120 may generate a reconstruction block C 1 in which an inverse transform is performed on the generated transform coefficient block.
- the inverse transform unit 120 includes all of the transform coefficient values of the pixels 113, 114, and 115 having the non-zero transform coefficient except for the other pixel 112 among the selected pixels.
- a transform coefficient block substituted with 0 can be generated.
- the inverse transform unit 120 may generate a reconstruction block C 2 that has undergone inverse transform on the generated transform coefficient block.
- the inverse transform unit 120 maintains only transform coefficient values of pixels 113, 114, and 115 having non-zero transform coefficients except for the selected pixels 111 and 112.
- a transform coefficient block in which the transform coefficient values of the selected pixels 111 and 112 are all replaced with 0 can be generated.
- the inverse transform unit 120 may generate a reconstruction block C 3 that has undergone inverse transform on the generated transform coefficient block.
- a candidate reconstruction block generated by performing inverse transform on a transform coefficient block in which a sign is assigned to non-zero transform coefficients 111 and 112 according to a code candidate group (+, +) is C 3. Equivalent to + C 1 + C 2 .
- a candidate reconstruction block generated by performing inverse transform on a transform coefficient block in which a code is assigned to non-zero transform coefficients 111 and 112 according to a code candidate group (+,-) is C 3. Equivalent to + C 1 -C 2 .
- a candidate reconstruction block generated by performing inverse transform on a transform coefficient block in which a code is assigned to non-zero transform coefficients 111 and 112 according to a code candidate group ( ⁇ , +) is C 3. Equivalent to -C 1 + C 2 .
- a candidate reconstruction block generated by performing inverse transform on a transform coefficient block in which a sign is assigned to non-zero transform coefficients 111 and 112 according to a code candidate group ( ⁇ , ⁇ ) is C 3. Equivalent to -C 1 -C 2 .
- Candidate reconstruction blocks according to (+,-), (-, +) and (-,-) may be generated. According to such an embodiment, since the number of inverse transformations to be performed four times is reduced to three, the load of the encoding apparatus 100 may be reduced and the operation speed may be improved.
- 12A to 12D are diagrams for describing a method of generating a candidate reconstruction block corresponding to each code candidate according to another embodiment of the present invention.
- FIG. 12A illustrates a method for encoding code information of two pixels 121 and 122 including non-zero transform coefficients in a 4 ⁇ 4 TU into a codeword. If two pixels 121 and 122 (decoding) are selected for encoding code information in the TU shown in FIG. 12A (a), the inverse transformer 120 assigns the non-zero transform coefficients of the selected pixel. Generate a candidate code group (+, +), (+,-), (-, +) and (-,-) that contain possible combinations of signs.
- the combination of the non-zero transform coefficients of the pixels 121 and 122 corresponding to each code candidate group is (+8, +2), (+8, -2), (-8, +2), and (- 8, -2).
- 12A to 12D also reduce the number of times the inverse transform is performed by using the linear property of the inverse transform.
- the inverse transform unit 120 performs inverse transform on a transform coefficient block in which a code is assigned to non-zero transform coefficients 121 and 122 according to a code candidate group (+, +).
- the recovery block A 1 may be generated.
- the inverse transform unit 120 maintains only the transform coefficient value of one pixel 122 among the selected pixels, and has pixels 121, 123, 124, and 125 having the remaining non-zero transform coefficients.
- a transform coefficient block in which all transform coefficient values of) are replaced with 0, and a reconstruction block C 1 obtained by performing an inverse transform on the generated transform coefficient block can be generated.
- the inverse transform unit 120 maintains only the transform coefficient value of another pixel 121 among the selected pixels, and has pixels 122, 123, 124, having the remaining non-zero transform coefficients.
- a transform coefficient block obtained by substituting all transform coefficient values of 125) by 0 may be generated, and a restored block C 1 having inverse transformed on the generated transform coefficient block may be generated.
- the inverse transform unit 120 uses the reconstruction blocks A 1 , C 1, and C 2 to recover the reconstruction blocks A 2 and A 3 for the (+,-), (-,-), and (-, +) code candidate groups. And A 4 may be generated, respectively.
- the inverse transform unit 120 subtracts a reconstruction block multiplied by each pixel value of the reconstruction block C 1 from the reconstruction block A 1 , thereby restoring the block A 2 for the (+,-) code candidate group. Can be generated.
- the inverse transform unit 120 as shown in Figure 12C by subtracting the restored block A 2 recovery block for each pixel value of the restored block C 2 2 times multiplied in the (-, -), the recovery block A 3 for the code candidate Can be generated.
- the inverse transform unit 120 adds a reconstruction block multiplied by each pixel value of the reconstruction block A 3 and the reconstruction block C 1 to restore the block A 4 -for the (-, +) code candidate group. Can be generated.
- the candidate reconstruction block A- 1 generated by inverse transforming the transform coefficient block according to the code candidate group (+, +) in the manner shown in (b), (c) and (d) of FIG. 12A, and (c of FIG. 12A).
- Candidate reconstruction block according to each of the code candidate groups (+,-), (-,-) and (-, +) using C 1 and C 2 calculated by performing inverse transformation in the manner shown in Figs. Can create them.
- the load of the encoding apparatus 100 may be reduced and the operation speed may be improved.
- 13 through 16 are diagrams for describing a method of encoding an MVD code into a codeword according to an embodiment of the present invention.
- a difference between a motion vector (PMV: Predicted Motion Vector) obtained by motion prediction and a real motion vector (MV) searched using PMV as a starting point among bit streams transmitted from the encoding apparatus 100 may be determined.
- PMV Predicted Motion Vector
- MV real motion vector
- the present invention can also be applied to a technique for compressing a sign of a calculated motion vector difference (MVD).
- MVD Motion vector difference
- a most similar predictor is generated from blocks around an image, and a residual transform is performed by subtracting a predicate generated from a block to be currently encoded.
- the inter frame compression method generates a dictator using a previous frame or a subsequent frame as a reference frame.
- the inter frame compression method determines the x and y values of the MVDs for the most similar blocks by matching the blocks, and transmits them to the decoder.
- the technical concept of the present invention also applies to a method of compressing a sign for an MVD value. Can be extended.
- the motion prediction unit (not shown) of the encoding apparatus 100 may (+, +), (+,-), ( ⁇ , +), and ( ⁇ ) with respect to MVD values of a current PU (Prediction Unit).
- Prediction Unit Prediction Unit
- a total of four code candidate groups can be generated.
- the motion predictor generates four motion vectors by adding the predicates and the residual blocks referred to according to the generated plurality of code candidate groups, and calculates a cost for each motion vector.
- a predetermined codeword is assigned to the code candidate group of the MVD having the smallest cost, and can be transmitted to the decoder together with the MVD value without code information.
- the method of calculating the cost is the same as the method shown in FIGS. 7 and 8.
- the code candidate groups are sorted. As shown in FIG. 15, the cost calculated for the code candidate group of (+,-) is the smallest as 25, and the encoding unit 140 has a code candidate group of (+,-) having the smallest cost in the original block. It may be determined that the probability of the sign information is the highest. In this case, the encoder 140 may align the code candidate groups such that the (+,-) code candidate groups having the smallest cost are aligned at the top.
- the encoder 140 may allocate different unary codes to each code candidate group.
- the encoder 140 may allocate the codeword '0' to the (+,-) code candidate group having the smallest cost, and code for the (-,-) code candidate group having the second smallest cost.
- the word '10' can be assigned.
- the encoding unit 140 may allocate the codeword '110' to the (-, +) code candidate group having the third smallest cost and to code the (+, +) code candidate group having the largest cost.
- the word '1110' can be assigned.
- '111' may be allocated by omitting 0 in the codeword '1110'.
- 17 is a simplified block diagram of an encoding apparatus according to another embodiment of the present invention.
- the encoding apparatus 100 may include a communication unit 301, a processor 302, and a memory 303.
- the communication unit 301 may include a Wi-Fi chip, a Bluetooth chip, a wireless communication chip, and the like, and the encoding device 300 may communicate with an external device including the decoding device 400 through the communication unit 301. . In particular, the communication unit 301 may transmit the encoded bit stream to the decoding apparatus 200.
- the memory 303 may store an encoding application.
- memory 303 may include a computer program or application that includes instructions that configure processor 302 to perform steps or operations as described herein.
- the encoding application may encode the bit stream and output the encoded bit stream in accordance with the codeword assignment process described herein.
- the encoding application may entropy encode the input sequence and output the bit stream using one or more of the processors described herein.
- the encoding application may be stored on a computer readable medium such as a compact disc, flash memory device, random access memory, hard drive, or the like.
- FIG. 18 is a simplified block diagram of a decoding apparatus according to another embodiment of the present invention.
- the decryption apparatus 400 may include a communication unit 401, a processor 402, and a memory 403.
- the communicator 401 may communicate with an external device according to various types of communication methods.
- the communicator 401 may receive an encoded bit stream from the encoder 300.
- the memory 403 may include a computer program or application that includes instructions that configure the processor 402 to perform steps or operations as described herein.
- the decoding application may receive a bit stream encoded according to a codeword assignment process described herein, parse the codeword coded to decode the bit stream, as described herein. According to the candidate group to which the codeword corresponding to the parsed codeword is allocated, the sign of the non-zero transform coefficients of the plurality of pixels may be determined.
- the decryption application may be stored on a computer readable medium, such as a compact disk, flash memory device, random access memory, hard drive, or the like.
- 19 is a flowchart illustrating an encoding method according to an embodiment of the present invention.
- a plurality of pixels including non-zero transform coefficients are selected (S1910).
- a predetermined number of pixels may be selected in the order of increasing transform coefficient values in a predetermined region among the transform coefficient blocks constituting the image frame.
- inverse transform is performed on each transform coefficient block in which a code is assigned to non-zero transform coefficients according to the generated plurality of code candidate groups to generate candidate reconstructed blocks (S1930).
- a reconstructed block may be generated by performing inverse transform on a block in which all of the selected pixels of the block are replaced with 0.
- the candidate reconstruction block may be generated through the sum or difference of the generated reconstruction blocks.
- the cost is calculated based on a pixel value difference between the pixel values of the selected plurality of pixels among the generated candidate reconstruction blocks and other pixels adjacent to the selected plurality of pixels (S1940).
- the cost may be a boundary matching cost based on a pixel value difference between a pixel value of a plurality of selected pixels among the candidate reconstruction blocks and another pixel in another reconstructed block adjacent to the selected plurality of pixels.
- the cost may be a variation cost based on the pixel value difference between adjacent pixels in the candidate reconstruction block.
- different preset codewords are assigned to the plurality of code candidate groups based on the calculated cost, and one codeword among the codewords is encoded as code information of non-zero transform coefficients of the selected plurality of pixels.
- a codeword consisting of the smallest number of bits among the preset codewords is allocated to the candidate group having the smallest cost among the plurality of candidate groups, and a non-zero transform coefficient including the least number of codewords included in each pixel.
- the codeword '0' may be allocated to the candidate group having the smallest cost.
- control method may be implemented as a program and stored in various recording media. That is, a computer program processed by various processors and capable of executing the various control methods described above may be used in a state stored in a recording medium.
- a transform coefficient block constituting an image frame, selecting a plurality of pixels including non-zero transform coefficients, and a plurality of combinations of symbols assignable to non-zero transform coefficients of the selected plurality of pixels.
- Generating a candidate reconstruction block by performing inverse transform on each transform coefficient block assigned a code to the non-zero transform coefficients according to the generated plurality of code candidate groups; Calculating a cost based on a pixel value difference between a pixel value of a plurality of selected pixels of the reconstructed block and another pixel adjacent to the selected plurality of pixels, and different preset codes for the plurality of code candidate groups based on the calculated cost Assigns a codeword, and appends one codeword of the codewords to sign information of non-zero transform coefficients of the selected plurality of pixels.
- This is to perform the step of non-programmed stored temporarily readable medium (non-transitory computer readable medium) can be provided.
- the non-transitory readable medium refers to a medium that stores data semi-permanently and is readable by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like.
- a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
TU 사이즈 | 인트라 CU | 인터 CU | |
휘도(Luma) 성분 | 4X4 | Not Used | up to 5 |
8X8 | up to 3 | up to 5 | |
16X16 | up to 4 | up to 5 | |
32X32 | up to 4 | up to 5 | |
색차(Chroma) 성분 | 4X4 | up to 3 | up to 5 |
8X8 | up to 3 | up to 5 | |
16X16 | up to 3 | up to 5 |
Claims (15)
- 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치에 있어서,영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부;상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환(inverse transform)을 수행하여 후보 복원 블록들을 생성하는 역변환부;상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부;를 포함하는 부호화 장치.
- 제1항에 있어서,상기 선택부는,상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 장치.
- 제1항에 있어서,상기 부호화부는,상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 장치.
- 제3항에 있어서,상기 부호화부는,상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 장치.
- 제1항에 있어서,상기 역변환부는,상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하고, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는, 부호화 장치.
- 제1항에 있어서,상기 코스트 산출부는,상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 장치.
- 제1항에 있어서,상기 코스트 산출부는,상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 장치.
- 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 방법에 있어서,영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계;상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계;상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계;상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계; 및상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 포함하는 부호화 방법.
- 제8항에 있어서,상기 선택하는 단계는,상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 방법.
- 제8항에 있어서,상기 부호화하는 단계는,상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 방법.
- 제10항에 있어서,상기 부호화하는 단계는,상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 방법.
- 제8항에 있어서,상기 후보 복원 블록들을 생성하는 단계는,상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하는 단계; 및상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는 단계;를 포함하는, 부호화 방법.
- 제8항에 있어서,상기 코스트를 각각 산출하는 단계는,상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 방법.
- 제8항에 있어서,상기 코스트를 각각 산출하는 단계는,상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 방법.
- 영상 프레임을 포함하는 비트 스트림을 복호화하기 위한 복호화 장치에 있어서,영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 파싱부;영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 선택부;상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부;상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정하는 복호화부;를 포함하는 복호화 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020177032548A KR20180040514A (ko) | 2015-09-10 | 2016-08-01 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
US15/744,597 US10547872B2 (en) | 2015-09-10 | 2016-08-01 | Encoding device, decoding device, and encoding method and decoding method thereof |
CN201680052504.5A CN108028930A (zh) | 2015-09-10 | 2016-08-01 | 编码设备、解码设备及其编码方法和解码方法 |
EP16844589.8A EP3300366A4 (en) | 2015-09-10 | 2016-08-01 | Encoding device, decoding device, and encoding method and decoding method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562216570P | 2015-09-10 | 2015-09-10 | |
US62/216,570 | 2015-09-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017043769A1 true WO2017043769A1 (ko) | 2017-03-16 |
Family
ID=58240924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2016/008441 WO2017043769A1 (ko) | 2015-09-10 | 2016-08-01 | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10547872B2 (ko) |
EP (1) | EP3300366A4 (ko) |
KR (1) | KR20180040514A (ko) |
CN (1) | CN108028930A (ko) |
WO (1) | WO2017043769A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018175911A1 (en) * | 2017-03-23 | 2018-09-27 | Qualcomm Incorporated | Motion vector difference (mvd) prediction |
CN111801944A (zh) * | 2018-03-26 | 2020-10-20 | 华为技术有限公司 | 视频图像编码器、视频图像解码器以及对应的运动信息编码方法 |
CN113287310A (zh) * | 2019-06-10 | 2021-08-20 | 株式会社 Xris | 用于对图像信号进行编码/解码方法及其装置 |
CN113519155A (zh) * | 2019-01-02 | 2021-10-19 | 弗劳恩霍夫应用研究促进协会 | 统一变换类型信令和变换类型相关的变换系数水平编码 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666937B2 (en) * | 2016-12-21 | 2020-05-26 | Qualcomm Incorporated | Low-complexity sign prediction for video coding |
US10873765B2 (en) * | 2018-03-29 | 2020-12-22 | Apple Inc. | Techniques for high efficiency entropy coding of video data |
JP2023500732A (ja) * | 2019-11-11 | 2023-01-10 | エルジー エレクトロニクス インコーポレイティド | 変換に基づく映像コーディング方法及びその装置 |
CN113242429B (zh) * | 2021-05-11 | 2023-12-05 | 杭州网易智企科技有限公司 | 视频编码模式决策方法、装置、设备及存储介质 |
US20230094825A1 (en) * | 2021-09-28 | 2023-03-30 | Qualcomm Incorporated | Motion vector difference sign prediction for video coding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123740A1 (en) * | 2001-12-31 | 2003-07-03 | Debargha Mukherjee | Method of compressing images of arbitrarily shaped objects |
KR20100033676A (ko) * | 2008-09-22 | 2010-03-31 | 에스케이 텔레콤주식회사 | 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법 |
KR20140027932A (ko) * | 2011-06-27 | 2014-03-07 | 브리티쉬브로드캐스팅코퍼레이션 | 변환을 이용하는 비디오 인코딩 및 디코딩 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100714706B1 (ko) * | 2005-09-26 | 2007-05-04 | 삼성전자주식회사 | 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치 |
US8130828B2 (en) * | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
EP2154894A1 (en) * | 2008-08-15 | 2010-02-17 | Thomson Licensing | Video coding with coding of the locations of significant coefficients in a block of coefficients |
JP5001964B2 (ja) * | 2009-02-18 | 2012-08-15 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
WO2011099080A1 (ja) | 2010-02-12 | 2011-08-18 | 富士通株式会社 | 画像符号化装置及び画像復号装置 |
US9008184B2 (en) | 2012-01-20 | 2015-04-14 | Blackberry Limited | Multiple sign bit hiding within a transform unit |
-
2016
- 2016-08-01 KR KR1020177032548A patent/KR20180040514A/ko unknown
- 2016-08-01 EP EP16844589.8A patent/EP3300366A4/en not_active Withdrawn
- 2016-08-01 CN CN201680052504.5A patent/CN108028930A/zh not_active Withdrawn
- 2016-08-01 US US15/744,597 patent/US10547872B2/en not_active Expired - Fee Related
- 2016-08-01 WO PCT/KR2016/008441 patent/WO2017043769A1/ko active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123740A1 (en) * | 2001-12-31 | 2003-07-03 | Debargha Mukherjee | Method of compressing images of arbitrarily shaped objects |
KR20100033676A (ko) * | 2008-09-22 | 2010-03-31 | 에스케이 텔레콤주식회사 | 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법 |
KR20140027932A (ko) * | 2011-06-27 | 2014-03-07 | 브리티쉬브로드캐스팅코퍼레이션 | 변환을 이용하는 비디오 인코딩 및 디코딩 |
Non-Patent Citations (3)
Title |
---|
KIM, II KOO ET AL.: "HM9: High Efficiency Video Coding (HEVC) Test Model 9 Encoder Description", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU- T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, 19 October 2012 (2012-10-19) * |
See also references of EP3300366A4 * |
SHIN, YOON - JEONG ET AL.: "H.264/AVC to MPEG-2 Video Transcoding by Using Motion Vector Clustering", JOURNAL OF THE KOREA INSTITUTE OF ELECTRONIC COMMUNICATION SCIENCES, vol. 5, no. 1, 28 February 2010 (2010-02-28), pages 23 - 30, XP055441974 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018175911A1 (en) * | 2017-03-23 | 2018-09-27 | Qualcomm Incorporated | Motion vector difference (mvd) prediction |
CN110447228A (zh) * | 2017-03-23 | 2019-11-12 | 高通股份有限公司 | 运动向量差(mvd)预测 |
US10701391B2 (en) | 2017-03-23 | 2020-06-30 | Qualcomm Incorporated | Motion vector difference (MVD) prediction |
CN111801944A (zh) * | 2018-03-26 | 2020-10-20 | 华为技术有限公司 | 视频图像编码器、视频图像解码器以及对应的运动信息编码方法 |
CN111801944B (zh) * | 2018-03-26 | 2021-10-22 | 华为技术有限公司 | 视频图像编码器、解码器以及对应的运动信息编码方法 |
CN113519155A (zh) * | 2019-01-02 | 2021-10-19 | 弗劳恩霍夫应用研究促进协会 | 统一变换类型信令和变换类型相关的变换系数水平编码 |
CN113287310A (zh) * | 2019-06-10 | 2021-08-20 | 株式会社 Xris | 用于对图像信号进行编码/解码方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
US10547872B2 (en) | 2020-01-28 |
CN108028930A (zh) | 2018-05-11 |
EP3300366A1 (en) | 2018-03-28 |
KR20180040514A (ko) | 2018-04-20 |
US20180220159A1 (en) | 2018-08-02 |
EP3300366A4 (en) | 2018-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017043769A1 (ko) | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 | |
WO2017069419A1 (ko) | 비디오 코딩 시스템에서 인트라 예측 방법 및 장치 | |
WO2016204360A1 (ko) | 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치 | |
WO2017052000A1 (ko) | 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치 | |
WO2017043763A1 (ko) | 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법 | |
WO2017082670A1 (ko) | 영상 코딩 시스템에서 계수 유도 인트라 예측 방법 및 장치 | |
WO2012005551A2 (ko) | 변환 계수의 엔트로피 부호화/복호화 방법 및 장치 | |
WO2013069932A1 (ko) | 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치 | |
WO2017069590A1 (ko) | 영상 코딩 시스템에서 모델링 기반 영상 디코딩 방법 및 장치 | |
WO2011126277A2 (en) | Low complexity entropy-encoding/decoding method and apparatus | |
WO2016200043A1 (ko) | 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치 | |
WO2015009039A1 (ko) | 비디오 코딩에서 사선 모드의 인트라 예측 향상을 위한 방법 | |
WO2011099792A2 (ko) | 비디오 신호의 처리 방법 및 장치 | |
WO2013062193A1 (ko) | 영상 복호화 방법 및 장치 | |
WO2011019234A2 (en) | Method and apparatus for encoding and decoding image by using large transformation unit | |
WO2012023763A2 (ko) | 인터 예측 부호화 방법 | |
WO2014163241A1 (ko) | 동영상 처리 방법 및 장치 | |
EP2556671A2 (en) | Low complexity entropy-encoding/decoding method and apparatus | |
WO2012026794A2 (ko) | 인트라 예측을 이용한 부호화 및 복호화 장치와 방법 | |
WO2017057877A1 (ko) | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 | |
EP2524508A2 (en) | Method and apparatus for encoding and decoding image by using large transform unit | |
WO2019194507A1 (ko) | 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치 | |
WO2017043766A1 (ko) | 비디오 부호화, 복호화 방법 및 장치 | |
WO2010140759A1 (en) | Apparatus and method for processing video data | |
WO2019194500A1 (ko) | 인트라 예측에 기반한 영상 코딩 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16844589 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20177032548 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016844589 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15744597 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |