WO2017043769A1 - 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 - Google Patents

부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 Download PDF

Info

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
Application number
PCT/KR2016/008441
Other languages
English (en)
French (fr)
Inventor
원광현
김찬열
이선일
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020177032548A priority Critical patent/KR20180040514A/ko
Priority to US15/744,597 priority patent/US10547872B2/en
Priority to CN201680052504.5A priority patent/CN108028930A/zh
Priority to EP16844589.8A priority patent/EP3300366A4/en
Publication of WO2017043769A1 publication Critical patent/WO2017043769A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to 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

영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치가 개시된다. 부호화 장치는, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및, 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부를 포함한다.

Description

부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법
본 발명은 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법에 관한 것으로, 보다 상세하게는 압축 성능을 향상시킬 수 있는 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법에 관한 것이다.
최근 다양한 분야에서 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 증가하고 있다. 고행사도, 고품질의 영상을 제공하기 위해서는 영상 데이터의 데이터량이 증가한다. 따라서, 기존 영상 데이터 처리 방식과 비교할 때 고해상도, 고품질의 영상을 제공하기 위한 영상 데이터의 전송 비용과 저장 비용은 증가하게 된다. 영상 데이터가 고해상도, 고품질화됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
한편, 종래의 H.264, HEVC 등을 기반으로 하는 부호화/복호화 기술은 변환 계수 블록의 논-제로 변환 계수를 포함하는 픽셀의 부호(sign) 정보를 각 픽셀 당 1개의 비트를 할당하는 방식으로 압축을 수행하였다. 그러나, 종래의 이러한 방식에 따르면 변환 계수 블록 내에서 선택된 적어도 하나의 논-제로 변환 계수를 포함하는 픽셀의 부호 정보를 모두 압축하여 복호화 장치에 시그널링해야하므로 압축 효율이 낮다는 문제가 있었다.
따라서, 변환 계수 블록에 있어서 0이 아닌 정수 값을 갖는 각 픽셀의 변환 계수의 부호(또는 차분 모션 벡터)를 효율적으로 압축하기 위한 솔루션을 제안하고자 한다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 논-제로 변환 계수의 부호를 나타내는 데에 필요한 비트 수를 줄여 부호화 및 복호화 성능을 향상시킬 수 있는 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른, 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치는 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부를 포함한다.
또한, 상기 선택부는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 부호화부는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다.
또한, 상기 부호화부는 상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당할 수 있다.
또한, 상기 역변환부는 상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하고, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성할 수 있다.
또한, 상기 코스트 산출부는 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
또한, 상기 코스트 산출부는 상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출할 수 있다.
한편, 본 발명의 일 실시 예에 따른, 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 방법은 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계 및, 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 포함한다.
또한, 상기 선택하는 단계는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 부호화하는 단계는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다.
또한, 상기 부호화하는 단계는 상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당할 수 있다.
또한, 상기 후보 복원 블록들을 생성하는 단계는, 상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하는 단계 및, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는 단계를 포함할 수 있다.
또한, 상기 코스트를 각각 산출하는 단계는 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
또한, 상기 코스트를 각각 산출하는 단계는 상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출할 수 있다.
또한, 본 발명의 일 실시 예에 따른 영상 프레임을 포함하는 비트 스트림을 복호화하기 위한 복호화 장치는 영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 파싱부, 영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 선택부, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부, 상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부 및, 상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정하는 복호화부를 포함한다.
또한, 상기 선택부는 상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
또한, 상기 복호화부는 상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 논-제로 변환 계수의 픽셀 값의 부호를 나타내는 정보의 크기를 절약하여 동영상 압축 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타낸 블록도,
도 2는 본 발명의 일 실시 예에 따른 부호화 프로세스를 나타낸 블록도,
도 3은 본 발명의 일 실시 예에 따른 부호화 장치에서 원본 부호에 대응되는 코드워드를 시그널링하는 프로세스를 설명하기 위한 흐름도,
도 4는 본 발명의 일 실시 예에 따라 부호화할 부호 후보를 선택하는 방법을 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타낸 블록도,
도 6은 본 발명의 일 실시 예에 따른 복호화 장치에서 원본 부호를 결정하는 프로세스를 설명하기 위한 흐름도,
도 7 및 도 8은 본 발명의 다양한 실시 예에 따른 바운더리 매칭 코스트를 계산하는 방법을 설명하기 위한 도면,
도 9는 본 발명의 일 실시 예에 따라 산출된 코스트를 기준으로 부호 후보를 정렬하는 방법을 설명하기 위한 도면,
도 10은 본 발명의 일 실시 예에 따라 부호 후보를 결정하고 시그널링하는 방법을 설명하기 위한 도면,
도 11A 내지 도 11E는 본 발명의 일 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 12A 내지 도 12D는 본 발명의 다른 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면,
도 13 내지 도 16은 본 발명의 일 실시 예에 따른 MVD 부호를 코드워드로 부호화하기 위한 방법을 설명하기 위한 도면,
도 17은 본 발명의 다른 실시 예에 따른 부호화 장치의 간략화된 블록도,
도 18은 본 발명의 다른 실시 예에 따른 복호화 장치의 간략화된 블록도,
도 19는 본 발명의 일 실시 예에 따른 부호화 방법을 설명하기 위한 흐름도이다.
-
본 발명에 대하여 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어일 수 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명하도록 한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성 요소를 모두 도시하고 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 “제1”, “제2” 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성 요소들을 서로 구별하기 위하여 사용하는 것이며, 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안될 것이다. 일 예로, 이러한 서수와 결합된 구성 요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한 해석되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “구성하다” 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 “모듈”, “유닛”, “부(part)” 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성 요소를 지칭하기 위한 용어이며, 이러한 구성 요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수도 있다. 또한, 복수의 “모듈”, “유닛”, “부(part)” 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하에서는 도면을 참조하여 본 발명에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타낸 블록도이다. 도 1을 참조하면, 부호화 장치(100)는 선택부(110), 역변환부(120), 코스트 산출부(130) 및 부호화부(140)를 포함한다.
선택부(110)는 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 구성이다. 선택부(110)는 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
역변환부(120)는 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성한다. 즉, 연변환부(120)는 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 제거하고, 부호가 제거된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호(+ or -)의 조합에 대한 모든 경우의 수(number of cases)만큼의 부호 후보군을 생성할 수 있다.
예를 들어, 선택부(110)에서 선택된 픽셀의 개수가 2개라면, 각 픽셀에 대해 할당 가능한 부호의 조합은 (+, +), (+, -), (-, +), (-, -)이 가능하며, 이에 따라 4개의 부호 후보군이 생성될 수 있다. 마찬가지로, 선택된 픽셀의 개수가 5개라면, 25개의 부호 조합이 가능하며, 이에 따라 25개의 부호 후보군이 생성될 수 있다.
역변환부(120)는 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환(inverse transform)을 수행하여 후보 복원 블록들을 생성할 수 있다.
코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출한다. 구체적으로, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀의 픽셀값의 코릴레이션(co-relation)에 기초하여 각 후보 복원 블록에 대한 매칭 에러(matching error)를 계산할 수 있다.
코릴레이션(co-relation)에 기초한 매칭 에러(matching error)는 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀의 픽셀값 간의 차이에 기초하여 특정 코스트로 산출될 수 있다. 이때 산출되는 코스트를 바운더리 매칭 코스트(boundary matching cost)라고도 명명할 수 있다.
부호화부(140)는 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 각 부호 후보군에 할당된 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화한다. 여기서, 코드워드는 0, 10, 110, 1110과 같은 단항 코드(unary code)로 구현될 수 있다. 다만, 코드워드의 구현 방식에는 제한이 없으며 VLC 코드를 포함한 다양한 방식으로 구현 가능하다.
이때, 부호화부(140)는 가장 작은 코스트를 가지는 부호군에 대하여 코드워드 ‘0’을 할당할 수 있으며, 코스트가 작은 순서대로, ‘0’, ‘10’, ‘110’ ‘1110’ 등과 같은 코드워드를 할당할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 부호화 프로세스를 나타낸 블록도이다.
부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드 중 최적인 모드로 부호화를 수행하고 비트 스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환된다. 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
인트라 모드인 경우, 부호화 장치(100)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 부호화 장치(100)는 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다.
한편, 입력 블록과 생성된 예측 블록이 감산기에 의해 차분되어 잔여 블록(residual block)이 생성되며, 잔여 블록에 대해 변환(transform)이 수행되어, 변환 계수(transform coefficient)가 출력된다. 이때, 입력된 변환 계수가 양자화 파라미터에 의해 양자화되어 양자화된 계수(quantized coefficient)가 출력될 수 있다.
부호화부(140)는 양자화를 통해 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다.
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치(100)에서 부호화되어 복호화 장치(200)로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측 모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 부호화부(140)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 부호화부(140)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 부호화부(140)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화되고 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기를 통해 예측 블록과 더해져서 복원 블록이 생성될 수 있다.
복원 블록은 필터를 거치고, 필터는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터를 거친 복원 블록은 참조 영상 버퍼에 저장될 수 있다.
한편, 본원에서 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 동작, 복수의 부호 후보군을 생성하는 동작 및 코스트를 산출하는 동작은 변환 및 양자화 단계와 역양자화 및 역변환 단계의 사이(21)에서 수행될 수 있으며, 역변환을 수행하여 후보 복원 블록을 생성하는 동작은 역변환 단계에서 수행될 수 있다.
이때, 선택부(110), 코스트 산출부(130)는 변환 및 양자화 단계와 역양자화 및 역변환 단계의 사이(21)에서 동작이 수행되도록 구성될 수 있으며, 선택부(110) 및 코스트 산출부(130)가 역변환부(140) 내에서 동작이 수행되도록 구성되는 경우 선택부(110) 및 코스트 산출부(130)는 다른 구성요소와 구분하여 역변환부(140)로 통칭될 수도 있다.
도 3은 본 발명의 일 실시 예에 따른 부호화 장치에서 원본 부호에 대응되는 코드워드를 시그널링하는 프로세스를 설명하기 위한 흐름도이다.
먼저, 부호화할 부호(sign) 후보를 선택한다(S41). 여기서, 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
이후, 부호 후보들에 해당하는 코스트를 산출한다(S42). 코스트는 선택된 복수의 부호 후보군에 따라 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 산출될 수 있다. 이때, 코스트는 생성된 후보 복원 블록과 인접한 기 복원된 타 블록 간의 경계에 있어서의 픽셀 값 차이를 기초로 하는 방식(바운더리 매칭 코스트) 또는, 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 방식(배리언스 코스트)에 의해 산출될 수 있다.
이후, 정렬된 부호 후보에 코드워드(codeword)를 할당한다(S43). 정렬된 부호 후보군에는 서로 다른 기 설정된 코드워드가 할당되며, 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여는 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드가 할당될 수 있다. 가장 적은 비트수로 이루어진 코드워드는 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된다. 특히, 가장 작은 코스트를 가지는 후보군에 대하여는 코드워드 ‘0’을 할당할 수 있다.
이후, 원본 부호에 대응되는 코드워드를 시그널링한다(S44).
도 4는 본 발명의 일 실시 예에 따라 부호화할 부호 후보를 선택하는 방법을 설명하기 위한 도면이다. 선택부(110)는 부호화할 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택할 특정 영역을 지정할 수 있다. 여기서, 선택되는 논-제로 변환 계수를 포함하는 복수의 픽셀은 해당 픽셀의 변환 계수의 부호 정보를 코드워드로 부호화하기 위한 픽셀에 해당한다. 도 4에 도시된 바와 같이, 선택부(110)는 DCT(Discrete Cosine Transform) 및 양자화가 수행된 변환 계수 블록에 있어서 에너지가 상대적으로 집중된 DC 성분 영역(31)을 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택할 영역으로 지정할 수 있다.
선택부(110)는 지정된 영역(31)에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다. 바람직하게는, 선택부(110)는 지정된 영역(31)에서 3개 내지 5개의 픽셀을 선택할 수 있다. 다만, 선택되는 픽셀 개수는 변환계수 블록의 다양한 조건에 따라 달라질 수 있으며, 하기 표는 인트라 CU 및 인터 CU에 있어서, 휘도 성분, 색차 성분 및 TU 사이즈에 따른 가장 효율적인 선택 개수를 나타낸 것이다.
표 1
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
도 5는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타낸 블록도이다. 도 5를 참조하면, 복호화 장치(200)는 파싱부(210), 선택부(220), 역변환부(230), 코스트 산출부(240) 및 복호화부(250)를 포함한다.
파싱부(210)는 영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 구성이다.
선택부(220)는 영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 구성이다. 복호화 장치(200)의 선택부(220)는 부호화 장치(100)의 선택부(110)와 그 동작이 동일하다. 선택부(220)는 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
역변환부(230)는 선택부(220)에서 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성한다. 역변환부(230)의 동작은 부호화 장치(100)의 역변환부(120)의 동작과 동일하며, 부호화 장치(100)의 역변환부(120)의 동작은 도 1에서 설명한 바 있으므로, 구체적인 설명은 생략하기로 한다.
코스트 산출부(240)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 구성이다. 코스트 산출부(240) 또한 부호화 장치(100)의 코스트 산출부(130)와 그 동작이 동일하므로 구체적인 설명은 생략하기로 한다.
복호화부(250)는 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정한다. 복호화부(250)는 부호화 장치(100)의 부호화부(140)에 반대되는 동작을 수행하여 영상 프레임을 포함하는 비트 스트림을 복호화한다.
도 6은 본 발명의 일 실시 예에 따른 복호화 장치에서 원본 부호를 결정하는 프로세스를 설명하기 위한 흐름도이다. 복호화 장치(200)의 복호화 프로세스는 도 4에서 설명한 부호화 장치(100)의 부호화 프로세스와 반대 순서로 구성될 수 있다.
먼저, 부호화 장치로부터 수신된 비트 스트림으로부터, 논-제로 변환 계수들의 부호(sign) 정보를 포함하는 코드워드를 파싱한다(S610).
이하, 부호 정보를 포함하지 않는 논-제로 변환 계수들로부터 부호화할 부호 후보를 선택하는 동작(S620), 선택된 부호 후보들에 대해 코스트를 산출하는 동작(S630), 산출된 코스트를 기준으로 부호 후보를 정렬하는 동작(S640) 및 정렬된 부호 후보에 대하여 코드워드를 할당하는 동작(S650)은 도 4에서 설명한 부호화 장치(100)와 동일하므로 구체적인 내용은 생략한다.
이후, 파싱된 코드워드에 해당하는 부호 후보를 원본 부호로 결정한다(S660). 원본 부호로 결정된 부호 후보에 따라, 부호를 포함하지 않는 논-제로 변환 계수에 대하여 부호를 할당할 수 있다.
한편, S620 단계 내지 S650 단계의 동작은 코드워드가 파싱된 후 S610 단계 전에 미리 수행될 수도 있다.
도 7 및 도 8은 본 발명의 다양한 실시 예에 따라 코스트를 산출하는 방법을 설명하기 위한 도면이다.
도 7의 일 실시 예에 따르면, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀 값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀 값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출할 수 있다.
구체적으로, 도 7에 도시된 바와 같이, 부호화 장치(100)의 선택부(110)는 변환 계수 블록에서 기 설정된 개수의 픽셀을 선택하기 위한 영역을 설정할 수 있다. 여기서, 기 설정되는 영역은 DCT(Discrete Cosine Transform) 및 양자화가 수행된 변환 계수 블록에 있어서 에너지가 상대적으로 집중된 DC 성분 영역임이 바람직하다. 도 7에 도시된 실시 예에서는 변환 계수 블록의 제 1행 및 제1 열에 존재하는 픽셀(a ~ n)들이 기 설정된 개수의 픽셀을 선택하기 위한 영역으로 설정되었다.
역변환부(120)는 해당 영역(a ~ n)에서 선택된 기 설정된 개수의 픽셀의 각각의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 생성된 각각의 부호 후보군에 따른 부호가 할당된 변환 계수 블록에 대해 역변환을 수행한 후보 복원 블록을 생성할 수 있다.
이때, 코스트 산출부(130)는 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀 값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀 값 차이를 기초로 코스트를 각각 산출할 수 있다. 도 7에 나타난 일 실시 예에서, 코스트 산출부(130)는 생성된 각각의 후보 복원 블록의 a ~ n 픽셀 영역 중 선택된 픽셀의 픽셀 값과 선택된 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀(A ~ N)과의 픽셀 값 차이를 기초로 바운더리 매칭 에러(boundary matching error) 값을 계산하여 코스트를 산출할 수 있다. 이러한 방식에 따라 산출된 코스트를 바운더리 매칭 코스트(boundary matching cost)라 명명하기로 한다.
구체적으로, 일 실시 예에 따른 바운더리 매칭 코스트는 다음과 같은 식에 의해 산출될 수 있다.
수학식 1
Figure PCTKR2016008441-appb-M000001
또한, 다른 실시 예에 따른 바운더리 매칭 코스트는 다음과 같은 식에 의해 산출될 수도 있다.
수학식 2
Figure PCTKR2016008441-appb-M000002
즉, 본원의 부호화 장치(100)는 변환 계수 블록에서 기 복원된 타 블록과 경계에 있는 픽셀들이 부호 후보군을 생성할 픽셀들로 선택되었을 때, 변환 계수 블록과 기 복원된 타 블록 간의 경계에서 맞닿아 있는 픽셀들 간의 픽셀 값 차이에 기초하여 바운더리 매칭 코스트를 산출할 수 있다. 여기서, 바운더리 매칭 코스트가 가장 작은 후보 복원 블록이 부호가 제거되기 전의 원본 변환 계수 블록일 확률이 가장 높으며, 이에 따라 부호화부(140)는 바운더리 매칭 코스트가 가장 작은 후보 복원 블록의 부호 후보군에 대하여, 기 설정된 코드워드 중 가장 작은 비트수로 이루어진 코드워드를 부호 정보로 부호화할 수 있다.
한편, 도 8은 본 발명의 다른 실시 예에 따라 코스트를 산출하는 방법을 도시한 것이다.
도 8에 도시된 바와 같이, 코스트 산출부(130)는 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀 값 차이를 기초로 하는 배리언스 값을 계산하여 코스트를 산출할 수도 있다. 이러한 방식에 따라 산출된 코스트를 배리언스 코스트(variance cost)라 명명하기로 한다.
구체적으로, 일 실시 예에 따른 배리언스 코스트는 다음과 같은 식에 의해 산출될 수 있다.
수학식 3
Figure PCTKR2016008441-appb-M000003
즉, 코스트 산출부(130)는 후보 복원 블록 내의 각 픽셀들의 픽셀 값 간의 유사도를 나타내는 척도로서 배리언스 코스트를 산출할 수 있으며 배리언스 코스트가 가장 작은 후보 복원 블록이 부호가 제거되기 전의 원본 변환 계수 블록일 확률이 가장 높으며, 이에 따라 부호화부(140)는 배리언스 코스트가 가장 작은 후보 복원 블록의 부호 후보군에 대하여, 기 설정된 코드워드 중 가장 작은 비트수로 이루어진 코드워드를 부호 정보로 부호화할 수 있다.
결론적으로, 도 7 및 8의 실시 예 모두 변환 계수 블록에 있어서, 서로 인접한 픽셀들 간에는 픽셀 값의 유사도가 크다는 점에 기초하여 유사도를 나타내는 지표인 코스트를 이용하여 확률적으로 부호 정보를 부호화 및 복호화하는 것이다.
도 9는 본 발명의 일 실시 예에 따라 산출된 코스트를 기준으로 부호(sign) 후보를 정렬하는 방법을 설명하기 위한 도면이다.
부호화부(140)는 복수의 부호 후보군에 따른 후보 복원 블록에 대하여 산출된 코스트를 기준으로 부호 후보군을 정렬할 수 있다. 이때, 부호화부(140)는 코스트를 기준으로 내림차순 또는 오름차순으로 부호 후보군을 정렬할 수 있다.
도 9는 변환 계수 블록에서, 2개의 논-제로 변환 계수가 선택된 경우, 선택된 각 논-제로 변환 계수들에 할당 가능한 부호의 조합인 (+, +), (+, -), (-, +), (-, -)에 대응되는 후보 복원 블록에서 산출된 코스트를 기준으로, 부호 후보군을 정렬할 것이다. 도 9에 도시된 바와 같이, (-, -)의 부호 후보군에 대하여 산출된 코스트가 21로 가장 작으며, 도 7 또는 8에 도시된 방식에 따라 코스트가 산출되는 경우 부호화부(140)는 코스트가 가장 작은 (-, -)의 부호 후보군이 원본 변환 계수 블록의 부호 정보일 확률이 가장 높다고 판단할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (-, -)의 부호 후보군이 가장 위쪽에 정렬되도록 부호 후보군을 정렬할 수 있다.
도 10은 본 발명의 일 실시 예에 따라 sign 후보를 결정하고 시그널링하는 방법을 설명하기 위한 도면이다.
도 10에 도시된 바와 같이, 부호화부(140)는 각각의 부호 후보군에 대하여 서로 다른 단항 코드(unary code)를 할당할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (-, -) 부호 후보군에 대하여 코드워드 '0'을 할당할 수 있으며, 두 번째로 작은 코스트를 갖는 (+, +) 부호 후보군에 대하여 코드워드 '10'을 할당할 수 있다. 마찬가지로, 부호화부(140)는 세 번째로 작은 코스트를 갖는 (+, -) 부호 후보군에 대하여 코드워드 '110'을 할당할 수 있으며, 가장 큰 코스트를 갖는 (-, +) 부호 후보군에 대하여 코드워드 '1110'을 할당할 수 있다. 이때, (-, -) 부호 후보군에 대하여는 코드워드 '1110'에서 0을 생략하여, '111'을 할당할 수도 있다.
다만, 코드워드의 구현 방식은 이에 한정되지 않으며, 단항 코드가 아닌 VLC 코드를 포함한 다양한 방식으로 구현 가능함은 앞서 설명한 바와 같다.
도 11A 내지 도 11E는 본 발명의 일 실시 예에 따라 각 sign 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면이다.
도 11A는 4X4 크기의 TU에서 논-제로 변환 계수를 포함하는 두 개의 픽셀(111, 112)의 부호 정보를 코드워드로 부호화하기 위한 방법을 도시한 것이다. 도 11A의 (a)에 도시된 TU에서 부호 정보를 부호화하기 위한 두 개의 픽셀(111, 112)이 선택되면, 역변환부(120)는 선택된 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)을 생성한다. 여기서, 각 부호 후보군에 해당하는 픽셀들(111, 112)의 논-제로 변환 계수의 조합은 (+8, +2), (+8, -2), (-8, +2) 및 (-8, -2)가 된다.
이때, 각 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대하여 역변환을 수행하여 후보 복원 블록들을 생성할 수 있음은 앞서 설명한 바와 같다. 이 경우, 각각의 변환 계수 블록에 대하여 총 4번의 역변환이 수행되어야 한다. 그러나, 도 11A 내지 도 11E의 실시 예에 따르면, 역변환의 리니어(linear)한 성질을 이용하여 역변환이 수행되는 횟수를 줄일 수 있다.
도 11A의 (b)와 같이, 역변환부(120)는 선택된 픽셀 중 일 픽셀(111)을 제외한 나머지 논-제로 변환 계수를 갖는 픽셀들(113, 114, 115)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이와 마찬가지로, 도 11A의 (c)와 같이 역변환부(120)는 선택된 픽셀 중 다른 픽셀(112)을 제외한 나머지 논-제로 변환 계수를 갖는 픽셀들(113, 114, 115)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C2를 생성할 수 있다.
또한, 도 11A의 (d)와 같이 역변환부(120)는 선택된 픽셀들(111, 112)을 제외한 나머지 논-제로 변환 계수들을 갖는 픽셀들(113, 114, 115)의 변환 계수 값만 유지하고, 선택된 픽셀들(111, 112)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성할 수 있다. 역변환부(120)는 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C3를 생성할 수 있다.
도 11B에 도시된 바와 같이, 부호 후보군 (+, +)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3+C1+C2와 같다.
도 11C에 도시된 바와 같이, 부호 후보군 (+, -)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3+C1-C2와 같다.
도 11D에 도시된 바와 같이, 부호 후보군 (-, +)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3-C1+C2와 같다.
도 11E에 도시된 바와 같이, 부호 후보군 (-, -)에 따라 논-제로 변환 계수들(111, 112)에 부호가 할당된 변환 계수 블록에 대하여 역변환이 수행되어 생성된 후보 복원 블록은 C3-C1-C2와 같다.
즉, 도 11A의 (b), (c) 및 (d)에 도시된 방식으로 세 번의 역변환을 수행하여 산출된 C1, C2 및 C3를 이용하여 각각의 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)에 따른 후보 복원 블록들을 생성할 수 있다. 이와 같은 실시 예에 따르면, 4번 수행되어야 하는 역변환 횟수가 3번으로 감소하게 되므로 부호화 장치(100)의 부하를 줄이고, 연산속도를 개선할 수 있다.
도 12A 내지 도 12D는 본 발명의 다른 실시 예에 따라 각 부호 후보에 대응되는 후보 복원 블록을 생성하는 방법을 설명하기 위한 도면이다.
도 12A는 4X4 크기의 TU에서 논-제로 변환 계수를 포함하는 두 개의 픽셀(121, 122)의 부호 정보를 코드워드로 부호화하기 위한 방법을 도시한 것이다. 도 12A의 (a)에 도시된 TU에서 부호 정보를 부호화하기 위한 두 개의 픽셀(121, 122)(부호 제거)이 선택되면, 역변환부(120)는 선택된 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 부호 후보군 (+, +), (+, -), (-, +) 및 (-, -)을 생성한다. 여기서, 각 부호 후보군에 해당하는 픽셀들(121, 122)의 논-제로 변환 계수의 조합은 (+8, +2), (+8, -2), (-8, +2) 및 (-8, -2)가 된다.
도 12A 내지 도 12D의 실시 예 역시, 역변환의 리니어(linear)한 성질을 이용하여 역변환이 수행되는 횟수를 줄인 것이다.
도 12A의 (b)와 같이, 역변환부(120)는 부호 후보군 (+, +)에 따라 논-제로 변환 계수들(121, 122)에 부호가 할당된 변환 계수 블록에 대하여 역변환을 수행하여 후보 복원 블록 A1을 생성할 수 있다.
또한, 도 12A의 (c)와 같이 역변환부(120)는 선택된 픽셀 중 일 픽셀(122)의 변환 계수 값만을 유지하고, 나머지 논-제로 변환 계수들을 갖는 픽셀들(121, 123, 124, 125)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성하고, 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이와 마찬가지로, 도 12A의 (d)와 같이 역변환부(120)는 선택된 픽셀 중 다른 픽셀(121)의 변환 계수 값만을 유지하고, 나머지 논-제로 변환 계수들을 갖는 픽셀들(122, 123, 124, 125)의 변환 계수 값을 모두 0으로 치환한 변환 계수 블록을 생성하고, 이렇게 생성된 변환 계수 블록에 대하여 역변환을 수행한 복원 블록 C1을 생성할 수 있다.
이때, 역변환부(120)는 복원 블록 A1, C1 및 C2를 이용하여, (+, -), (-, -) 및 (-, +) 부호 후보군에 대한 복원 블록 A2, A3 및 A4를 각각 생성할 수 있다.
구체적으로, 도 12B에 도시된 바와 같이 역변환부(120)는 복원 블록 A1에서 복원 블록 C1의 각 픽셀 값을 2배 곱한 복원 블록을 빼서 (+, -) 부호 후보군에 대한 복원 블록 A2를 생성할 수 있다.
마찬가지로, 도 12C에 도시된 바와 같이 역변환부(120)는 복원 블록 A2에서 복원 블록 C2의 각 픽셀 값을 2배 곱한 복원 블록을 빼서 (-, -) 부호 후보군에 대한 복원 블록 A3을 생성할 수 있다.
또한, 도 12D에 도시된 바와 같이 역변환부(120)는 복원 블록 A3와 복원 블록 C1의 각 픽셀 값을 2배 곱한 복원 블록을 더해 (-, +) 부호 후보군에 대한 복원 블록 A4-를 생성할 수 있다.
즉, 도 12A의 (b), (c) 및 (d)에 도시된 방식으로 부호 후보군 (+, +)에 따른 변환 계수 블록을 역변환하여 생성된 후보 복원 블록 A-1 및 도 12A의 (c) 및 (d)에 도시된 방식으로 역변환을 수행하여 산출된 C1 및 C2를 이용하여 각각의 부호 후보군 (+, -), (-, -) 및 (-, +)에 따른 후보 복원 블록들을 생성할 수 있다. 이와 같은 실시 예 역시, 4번 수행되어야 하는 역변환 횟수가 3번으로 감소하게 되므로 부호화 장치(100)의 부하를 줄이고, 연산속도를 개선할 수 있다.
도 13 내지 도 16은 본 발명의 일 실시 예에 따른 MVD 부호를 코드워드로 부호화하기 위한 방법을 설명하기 위한 도면이다.
본 발명의 기술적 사상은 부호화 장치(100)에서 전송되는 비트 스트림 중 모션 예측으로 구해진 모션 벡터(PMV: Predicted Motion Vector)와 PMV를 시작점으로 하여 탐색된 실제 모션 벡터(MV: Motion Vector)와의 차이를 계산한 모션 벡터 차(MVD: Motion Vector Difference)의 부호를 압축하는 기술에도 적용 가능하다. 인트라 프레임(intra frame) 압축방법에서는 영상 주변의 블록으로부터 가장 유사한 프레딕터(predictor)를 생성하고, 이를 현재 부호화하고자 하는 블록에서 생성된 프레딕터를 빼서, 잔차 변환(residual transform)을 수행한다. 인터 프레임 압축방법은 이전 프레임 또는 이후 프레임을 참조(reference) 프레임으로 하여 프레딕터를 생성한다. 이때, 인터 프레임 압축방법에서는 블록을 매칭하여 가장 유사한 블록에 대한 MVD의 x, y 값을 결정하고, 이를 디코더로 전송하게 되는데, MVD 값에 대한 부호를 압축하는 방식에 있어서도 본 발명의 기술적 사상이 확장될 수 있다.
도 13에 따르면, 부호화 장치(100)의 모션 예측부(미도시)는 현재 PU(Prediction Unit)의 MVD 값에 대하여 (+, +), (+, -), (-, +) 및 (-, -) 총 4가지의 부호 후보군을 생성할 수 있다. 모션 예측부는 도 14에 도시된 바와 같이, 생성된 복수의 부호 후보군에 따라 참조되는 프레딕터 및 잔차(residual) 블록을 더하여 총 4개의 모션 벡터를 생성하고, 각각의 모션 벡터에 대하여 코스트를 산출하여 가장 코스트가 작은 MVD의 부호 후보군에 기 설정된 코드워드를 할당하여, 부호정보가 없는 MVD 값과 함께 디코더로 전송할 수 있다. 코스트를 산출하는 방식은 도 7 및 도 8에 도시된 방식과 동일하다.
도 15는 부호화부(140)가 MVD에 할당 가능한 부호의 조합인 (+, +), (+, -), (-, +), (-, -)에 대응되는 예측 블록에서 산출된 코스트를 기준으로, 부호 후보군을 정렬한 것이다. 도 15에 도시된 바와 같이, (+, -)의 부호 후보군에 대하여 산출된 코스트가 25로 가장 작으며, 부호화부(140)는 코스트가 가장 작은 (+, -)의 부호 후보군이 원본 블록의 부호 정보일 확률이 가장 높다고 판단할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (+, -)의 부호 후보군이 가장 위쪽에 정렬되도록 부호 후보군을 정렬할 수 있다.
도 16에 도시된 바와 같이, 부호화부(140)는 각각의 부호 후보군에 대하여 서로 다른 단항 코드(unary code)를 할당할 수 있다. 이때, 부호화부(140)는 가장 작은 코스트를 갖는 (+, -) 부호 후보군에 대하여 코드워드 '0'을 할당할 수 있으며, 두 번째로 작은 코스트를 갖는 (-, -) 부호 후보군에 대하여 코드워드 '10'을 할당할 수 있다. 마찬가지로, 부호화부(140)는 세 번째로 작은 코스트를 갖는 (-, +) 부호 후보군에 대하여 코드워드 '110'을 할당할 수 있으며, 가장 큰 코스트를 갖는 (+, +) 부호 후보군에 대하여 코드워드 '1110'을 할당할 수 있다. 이때, (-, -) 부호 후보군에 대하여는 코드워드 '1110'에서 0을 생략하여, '111'을 할당할 수도 있다.
도 17은 본 발명의 다른 실시 예에 따른 부호화 장치의 간략화된 블록도이다.
본 발명의 다른 실시 예에 따른 부호화 장치(100)는 통신부(301), 프로세서(302) 및 메모리(303)를 포함할 수 있다.
통신부(301)는 와이파이 칩, 블루투스 칩, 무선 통신 칩 등을 포함할 수 있으며, 부호화 장치(300)는 통신부(301)를 통해 복호화 장치(400) 등을 포함한 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(301)는 복호화 장치(200)로 부호화된 비트 스트림을 전송할 수 있다.
메모리(303)는 부호화 어플리케이션을 저장할 수 있다. 구체적으로, 메모리(303)는 본 명세서에 기술되어 있는 것과 같은 단계들 또는 동작들을 수행하도록 프로세서(302)를 구성하는 명령어들을 포함하는 컴퓨터 프로그램 또는 어플리케이션을 포함할 수 있다. 예를 들어, 부호화 어플리케이션은 본 명세서에 기술되어 있는 코드워드 할당 프로세스에 따라 비트 스트림을 부호화하고 부호화된 비트 스트림을 출력할 수 있다. 부호화 어플리케이션은, 본 명세서에 기술되어 있는 프로세서들 중 하나 이상의 프로세스를 사용하여, 입력 시퀀스를 엔트로피 부호화하고 비트 스트림을 출력할 수 있다. 부호화 어플리케이션은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체 상에 저장될 수도 있다.
도 18은 본 발명의 다른 실시 예에 따른 복호화 장치의 간략화된 블록도이다.
본 발명의 다른 실시 예에 따른 복호화 장치(400)는 통신부(401), 프로세서(402) 및 메모리(403)를 포함할 수 있다.
통신부(401)는 부호화 장치(300)와 마찬가지로 다양한 유형의 통신방식에 따라 외부 장치와 통신을 수행할 수 있으며, 특히 부호화 장치(300)로부터 부호화된 비트 스트림을 수신할 수 있다.
메모리(403)는 본 명세서에 기술되어 있는 것과 같은 단계들 또는 동작들을 수행하도록 프로세서(402)를 구성하는 명령어들을 포함하는 컴퓨터 프로그램 또는 어플리케이션을 포함할 수 있다. 예를 들어, 복호화 어플리케이션은, 본 명세서에 기술되어 있는 코드워드 할당 프로세스에 따라 부호화되어 있는 비트 스트림을 수신하고, 본 명세서에 기술된 바와 같이, 비트 스트림을 디코딩하기 위해 부호화된 코드워드를 파싱하고, 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정할 수 있다. 복호화 어플리케이션은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체 상에 저장되어 있을 수 있다
도 19는 본 발명의 일 실시 예에 따른 부호화 방법을 설명하기 위한 흐름도이다.
먼저, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택한다(S1910). 이때, 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택할 수 있다.
이 후, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성한다(S1920).
이 후, 생성된 복수의 부호 후보군에 따라 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성한다(S1930). 이때, 후보 복원 블록들을 생성하는 일 실시 예로서, 변환 계수 블록 중 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 변환 계수 블록 중 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성할 수 있다. 이후, 생성된 복원 블록들의 합 또는 차를 통해 후보 복원 블록을 생성할 수 있다.
이 후, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출한다(S1940). 이때, 코스트는 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)일 수 있다. 또는, 코스트는 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)일 수 있다.
이 후, 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화한다(S1950). 이때, 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 가장 적은 비트수로 이루어진 코드워드를 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화할 수 있다. 일 실시 예에 따르면, 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 '0'을 할당할 수 있다.
상술한 다양한 실시 예에 따른 제어 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 다양한 제어 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, 영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계, 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계, 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계, 생성된 후보 복원 블록 중 선택된 복수의 픽셀의 픽셀값과 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계 및 산출된 코스트를 기초로 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 코드워드 중 일 코드워드를 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
-
-

Claims (15)

  1. 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 장치에 있어서,
    영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 선택부;
    상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환(inverse transform)을 수행하여 후보 복원 블록들을 생성하는 역변환부;
    상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및
    상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 부호화부;를 포함하는 부호화 장치.
  2. 제1항에 있어서,
    상기 선택부는,
    상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 장치.
  3. 제1항에 있어서,
    상기 부호화부는,
    상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 장치.
  4. 제3항에 있어서,
    상기 부호화부는,
    상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 장치.
  5. 제1항에 있어서,
    상기 역변환부는,
    상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하고, 상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는, 부호화 장치.
  6. 제1항에 있어서,
    상기 코스트 산출부는,
    상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 장치.
  7. 제1항에 있어서,
    상기 코스트 산출부는,
    상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 장치.
  8. 영상 프레임을 포함하는 비트 스트림을 부호화하기 위한 부호화 방법에 있어서,
    영상 프레임을 구성하는 변환 계수 블록에서, 논-제로 변환 계수를 포함하는 복수의 픽셀을 선택하는 단계;
    상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 부호 후보군을 생성하는 단계;
    상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 단계;
    상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 단계; 및
    상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 코드워드 중 일 코드워드를 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호 정보로 부호화하는 단계를 포함하는 부호화 방법.
  9. 제8항에 있어서,
    상기 선택하는 단계는,
    상기 영상 프레임을 구성하는 변환 계수 블록 중 기 설정된 영역에서 변환 계수 값이 큰 순서대로 기 설정된 개수의 픽셀을 선택하는, 부호화 방법.
  10. 제8항에 있어서,
    상기 부호화하는 단계는,
    상기 복수의 후보군 중 가장 작은 코스트를 가지는 후보군에 대하여 상기 기 설정된 코드워드 중 가장 적은 비트수로 이루어진 코드워드를 할당하고, 상기 가장 적은 비트수로 이루어진 코드워드를 상기 각 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화하는, 부호화 방법.
  11. 제10항에 있어서,
    상기 부호화하는 단계는,
    상기 가장 작은 코스트를 가지는 후보군에 대하여 코드워드 ‘0’을 할당하는, 부호화 방법.
  12. 제8항에 있어서,
    상기 후보 복원 블록들을 생성하는 단계는,
    상기 변환 계수 블록 중 상기 선택된 각각의 픽셀 하나를 제외한 나머지 픽셀에 포함된 변환 계수를 0으로 치환한 각각의 블록에 대하여 역변환을 수행한 복원 블록 및 상기 변환 계수 블록 중 상기 선택된 복수의 픽셀 모두를 0으로 치환한 블록에 대하여 역변환을 수행한 복원 블록을 생성하는 단계; 및
    상기 생성된 복원 블록들의 합 또는 차를 통해 상기 후보 복원 블록을 생성하는 단계;를 포함하는, 부호화 방법.
  13. 제8항에 있어서,
    상기 코스트를 각각 산출하는 단계는,
    상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 기 복원된 타 블록 내의 타 픽셀과의 픽셀값 차이를 기초로 하는 바운더리 매칭 코스트(boundary matching cost)를 각각 산출하는, 부호화 방법.
  14. 제8항에 있어서,
    상기 코스트를 각각 산출하는 단계는,
    상기 생성된 후보 복원 블록 내에서, 인접한 픽셀들 간의 픽셀값 차이를 기초로 하는 배리언스 코스트(variance cost)를 각각 산출하는, 부호화 방법.
  15. 영상 프레임을 포함하는 비트 스트림을 복호화하기 위한 복호화 장치에 있어서,
    영상 프레임을 구성하는 변환 계수 블록에서 선택된 복수의 픽셀에 포함된 논-제로 변환 계수들의 부호 정보로 부호화된 코드워드를 파싱하는 파싱부;
    영상 프레임을 구성하는 변환 계수 블록에서, 복호화할 복수의 픽셀을 선택하는 선택부;
    상기 선택된 복수의 픽셀의 논-제로 변환 계수들에 할당 가능한 부호의 조합들을 포함하는 복수의 후보군을 생성하고, 상기 생성된 복수의 부호 후보군에 따라 상기 논-제로 변환 계수들에 부호가 할당된 각각의 변환 계수 블록에 대해 역변환을 수행하여 후보 복원 블록들을 생성하는 역변환부;
    상기 생성된 후보 복원 블록 중 상기 선택된 복수의 픽셀의 픽셀값과 상기 선택된 복수의 픽셀에 인접한 타 픽셀과의 픽셀값 차이를 기초로 코스트를 각각 산출하는 코스트 산출부; 및
    상기 산출된 코스트를 기초로 상기 복수의 부호 후보군에 서로 다른 기 설정된 코드워드(codeword)를 할당하고, 상기 파싱된 코드워드에 대응되는 코드워드가 할당된 후보군에 따라, 상기 선택된 복수의 픽셀의 논-제로 변환 계수들의 부호를 결정하는 복호화부;를 포함하는 복호화 장치.
PCT/KR2016/008441 2015-09-10 2016-08-01 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 WO2017043769A1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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