WO2018182185A1 - Procédé de traitement d'image pour traiter des informations de mouvement pour le traitement parallèle, procédé de décodage et d'encodage utilisant ledit procédé de traitement, et appareil associé - Google Patents
Procédé de traitement d'image pour traiter des informations de mouvement pour le traitement parallèle, procédé de décodage et d'encodage utilisant ledit procédé de traitement, et appareil associé Download PDFInfo
- Publication number
- WO2018182185A1 WO2018182185A1 PCT/KR2018/002417 KR2018002417W WO2018182185A1 WO 2018182185 A1 WO2018182185 A1 WO 2018182185A1 KR 2018002417 W KR2018002417 W KR 2018002417W WO 2018182185 A1 WO2018182185 A1 WO 2018182185A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion information
- block
- unit
- current block
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to an image processing method, an image decoding and encoding method using the same, and an apparatus thereof, and more particularly, to an image processing method for processing motion information for parallel processing, an image decoding and encoding method using the same, and an apparatus thereof. will be.
- Digital video technologies include digital television, digital direct broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, digital recording devices, video gaming devices, video game consoles, cellular or satellite radio telephones, etc. It can be integratedly applied to a wide range of digital video devices, including.
- Digital video devices include video compression technologies such as MPEG-2, MPEG-4, or ITU-T H.264 / MPEG-4, Part 10, Advanced Video Coding (AVC), and High Efficiency Video Coding (HVC). By implementing the digital video information transmission and reception more efficiently.
- Video compression techniques perform spatial prediction and temporal prediction to remove or reduce redundancy inherent in video sequences.
- Such image compression techniques include an inter prediction technique for predicting pixel values included in a current picture from a picture before or after the current picture, and an intra prediction for predicting pixel values included in a current picture using pixel information in the current picture.
- technologies such as technology, entropy encoding technology that assigns a short code to a high frequency of appearance and long code to a low frequency of frequency, and it is possible to effectively compress and transmit or store image data using such image compression technology. .
- one picture is divided into a plurality of blocks having a predetermined size and encoding is performed.
- inter prediction and intra prediction techniques that remove redundancy between pictures are used to increase compression efficiency.
- a residual signal is generated by using intra prediction and inter prediction, and the reason for obtaining the residual signal is that when coding with the residual signal, the amount of data is small and the data compression ratio is high, and the better the prediction, the residual signal. This is because the value of becomes small.
- the intra prediction method predicts data of the current block by using pixels around the current block.
- the difference between the actual value and the predicted value is called the residual signal block.
- the intra prediction method is increased from nine prediction modes used in H.264 / AVC to 35 prediction modes to further refine the prediction.
- the most similar block is found by comparing the current block with blocks in neighboring pictures.
- the position information (Vx, Vy) of the found block is called a motion vector.
- the difference between pixel values in a block between the current block and the prediction block predicted by the motion vector is called a residual signal block (motion-compensated residual block).
- the amount of data of the residual signal is reduced, but the amount of computation for processing a video has greatly increased.
- the current block may be processed only after encoding or decoding of left, upper, and left upper neighboring blocks is completed, and thus, even when parallel pipelines are implemented. It is necessary to wait for the partition size and block mode determination of neighboring blocks processed in another pipeline for the block, which causes a pipeline stall.
- the present invention has been made to solve the above problems, and an object thereof is to provide an image decoding, encoding method and apparatus for improving encoding efficiency by performing parallel processing of motion information prediction decoding and encoding on a high resolution image.
- a motion information decoding method comprising: identifying a parallel motion information prediction unit index of a current block to decode motion information; Acquiring motion information of at least one neighboring block among blocks other than a block belonging to the parallel motion information prediction unit of a previous index in the neighboring block of the current block; And processing motion information prediction decoding on the current block based on the obtained motion information.
- a motion information encoding method comprising: identifying a parallel motion information prediction unit index of a current block to encode motion information; Acquiring motion information of at least one neighboring block among blocks other than a block belonging to the parallel motion information prediction unit of a previous index in the neighboring block of the current block; And processing motion information predictive encoding for the current block based on the obtained motion information.
- the method according to an embodiment of the present invention for solving the above problems can be implemented as a program for executing the method on a computer and a non-volatile recording medium that is stored in the computer can be read by the computer.
- the decoding blocks may be sequentially grouped into a predetermined determined parallel motion information prediction unit.
- motion information decoding may be processed using motion information of the remaining blocks except blocks belonging to the previous parallel motion information prediction unit among neighboring blocks of the current block.
- pipeline processing for each parallel motion information prediction unit can be independently performed, the pipeline stall can be blocked in advance, and the encoding and decoding efficiency can be improved.
- FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
- 2 to 5 are diagrams for describing a first exemplary embodiment of a method of dividing and processing an image in block units.
- FIG. 6 is a block diagram illustrating an embodiment of a method of performing inter prediction in an image encoding apparatus.
- FIG. 7 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
- FIG. 8 is a block diagram illustrating an embodiment of a method of performing inter prediction in an image decoding apparatus.
- FIG. 9 is a diagram for describing a second exemplary embodiment of a method of dividing and processing an image into blocks.
- FIG. 10 is a diagram for describing a third embodiment of a method of dividing and processing an image into blocks.
- FIG. 11 is a diagram for describing an example of a method of configuring a transform unit by dividing a coding unit into a binary tree structure.
- FIG. 12 is a diagram for describing a fourth embodiment of a method of dividing and processing an image into blocks.
- 13 to 14 are diagrams for describing still another example of a method of dividing and processing an image into blocks.
- 15 and 16 are diagrams for describing embodiments of a method of determining a partition structure of a transform unit by performing rate distortion optimization (RDO).
- RDO rate distortion optimization
- 17 and 18 are flowcharts illustrating an image processing method of processing motion information for parallel processing according to an exemplary embodiment of the present invention.
- 19 to 22 are diagrams for illustrating a motion information processing method for each case according to an embodiment of the present invention.
- first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
- the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
- each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
- each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
- Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
- the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
- the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
- the image encoding apparatus 10 may include a picture divider 110, a transform unit 120, a quantization unit 130, and a scanning unit.
- the picture dividing unit 110 analyzes an input video signal, divides a picture into coding units, determines a prediction mode, and determines a size of a prediction unit for each coding unit.
- the picture splitter 110 sends the prediction unit to be encoded to the intra predictor 150 or the inter predictor 160 according to a prediction mode (or a prediction method). In addition, the picture dividing unit 110 sends the prediction unit to be encoded to the subtracting unit 190.
- a picture of an image may be composed of a plurality of slices, and the slice may be divided into a plurality of coding tree units (CTUs) which are basic units for dividing a picture.
- CTUs coding tree units
- the coding tree unit may be divided into one or two coding units (CUs), which are basic units on which inter prediction or intra prediction is performed.
- CUs coding units
- the maximum sizes of the coding tree unit and the coding unit may be different, and signaling information thereof may be transmitted to the decoding apparatus 20. This will be described later in more detail with reference to FIG. 17.
- the coding unit may be divided into one or more prediction units (PUs), which are basic units on which prediction is performed.
- PUs prediction units
- the encoding apparatus 10 determines one of inter prediction and intra prediction as a prediction method for each of the divided coding units (CUs), but differently predicts a prediction block for each prediction unit (PU). Can be generated.
- the coding unit CU may be divided into one or two transform units (TUs), which are basic units for transforming a residual block.
- TUs transform units
- the picture dividing unit 110 may transmit the image data to the subtracting unit 190 in a block unit (for example, a prediction unit (PU) or a transformation unit (TU)) divided as described above.
- a block unit for example, a prediction unit (PU) or a transformation unit (TU) divided as described above.
- a coding tree unit (CTU) having a maximum size of 256 ⁇ 256 pixels may be divided into a quad tree structure and divided into four coding units (CUs) having a square shape.
- the four coding units (CUs) having the square shape may be re-divided into quad tree structures, respectively, and the depth of the coding units CU divided into quad tree structures as described above may be any one of 0 to 3. It can have one integer value.
- the coding unit CU may be divided into one or two or more prediction units (PUs) according to the prediction mode.
- the prediction unit PU may have a size of 2Nx2N shown in FIG. 3A or NxN shown in FIG. 3B. have.
- the prediction unit PU when the size of the coding unit CU is 2Nx2N, the prediction unit PU is 2Nx2N shown in FIG. 4A, 2NxN shown in FIG. 4B, and FIG. 4.
- Nx2N shown in (c) of FIG. 4 NxN shown in (d) of FIG. 4, 2NxnU shown in (e) of FIG. 4, 2NxnD shown in (f) of FIG. 4, shown in (g) of FIG. It may have a size of any one of nLx2N and nRx2N shown in (h) of FIG.
- the coding unit CU may be divided into a quad tree structure and divided into four transform units TUs having a square shape.
- the four transform units (TUs) having a square shape may be re-divided into quad tree structures, and the depth of the transform units (TUs) divided into quad tree structures as described above may be any one of 0 to 3. It can have one integer value.
- the prediction unit PU and the transform unit TU split from the coding unit CU may have a partition structure that is independent of each other.
- the transform unit TU split from the coding unit CU cannot be larger than the size of the prediction unit PU.
- the transform unit TU divided as described above may have a maximum size of 64x64 pixels.
- the transform unit 120 converts a residual block that is a residual signal between the original block of the input prediction unit PU and the prediction block generated by the intra predictor 150 or the inter predictor 160, and the transform is performed. It may be performed using the unit (TU) as a basic unit.
- different transform matrices may be determined according to a prediction mode (intra or inter), and since the residual signal of intra prediction has a direction according to the intra prediction mode, the transform matrix may be adaptively determined according to the intra prediction mode. have.
- the transform unit may be transformed by two (horizontal and vertical) one-dimensional transform matrices. For example, in the case of inter prediction, one predetermined transform matrix may be determined.
- intra prediction when the intra prediction mode is horizontal, the probability of the residual block having the directionality in the vertical direction increases, so a DCT-based integer matrix is applied in the vertical direction, and DST-based or in the horizontal direction. Apply KLT-based integer matrix.
- an integer matrix based on DST or KLT may be applied in the vertical direction and a DCT based integer matrix in the horizontal direction.
- a DCT based integer matrix may be applied in both directions.
- a transform matrix may be adaptively determined based on the size of a transform unit (TU).
- the quantization unit 130 determines a quantization step size for quantizing the coefficients of the residual block transformed by the transform matrix, and the quantization step size may be determined for each quantization unit having a predetermined size or more.
- the size of the quantization unit may be 8x8 or 16x16, and the quantization unit 130 quantizes coefficients of the transform block using a quantization matrix determined according to the quantization step size and the prediction mode.
- the quantization unit 130 may use the quantization step size of the quantization unit adjacent to the current quantization unit as the quantization step size predictor of the current quantization unit.
- the quantization unit 130 may search for the left quantization unit, the upper quantization unit, and the upper left quantization unit of the current quantization unit and generate a quantization step size predictor of the current quantization unit using one or two valid quantization step sizes. have.
- the quantization unit 130 may determine a valid first quantization step size found in the order as a quantization step size predictor, or determine an average value of two valid quantization step sizes found in the order as a quantization step size predictor, or If only one quantization step size is valid, this may be determined as a quantization step size predictor.
- the quantization unit 130 transmits a difference value between the quantization step size and the quantization step size predictor of the current quantization unit to the entropy encoder 140.
- the left coding unit, the upper coding unit, the upper left coding unit of the current coding unit does not all exist. Or there may be a coding unit previously present in the coding order within the largest coding unit.
- candidates may be quantization step sizes of the quantization units adjacent to the current coding unit and the quantization unit immediately before the coding order within the maximum coding unit.
- priority is set in the order of 1) the left quantization unit of the current coding unit, 2) the upper quantization unit of the current coding unit, 3) the upper left quantization unit of the current coding unit, and 4) the quantization unit immediately preceding the coding order.
- the order may be reversed and the upper left quantization unit may be omitted.
- the transform block quantized as described above is transferred to the inverse quantization unit 135 and the scanning unit 131.
- the scanning unit 131 scans the coefficients of the quantized transform block and converts them into one-dimensional quantization coefficients. In this case, since the distribution of coefficients of the transform block after quantization may depend on the intra prediction mode, the scanning method is applied to the intra prediction mode. Can be determined accordingly.
- the coefficient scanning scheme may be determined differently according to the size of the transform unit, and the scan pattern may vary according to the directional intra prediction mode, in which case the scanning order of the quantization coefficients may be scanned in the reverse direction.
- the same scan pattern may be applied to the quantization coefficients in each subset, and a zigzag scan or a diagonal scan may be applied to the scan patterns between the subsets.
- the scan pattern is preferably scanned in the forward direction from the main subset including DC to the remaining subsets, but the reverse direction is also possible.
- a scan pattern between subsets may be set to be identical to a scan pattern of quantized coefficients in a subset, and the scan pattern between subsets may be determined according to an intra prediction mode.
- the encoding apparatus 10 may include information indicative of the position of the last non-zero quantization coefficient and the position of the last non-zero quantization coefficient in each subset in the transform unit PU to include the decoding apparatus ( 20).
- the inverse quantization unit 135 inverse quantizes the quantized coefficients as described above, and the inverse transform unit 125 performs inverse transformation in units of transform units (TUs) to restore the inverse quantized transform coefficients into a residual block of a spatial domain. can do.
- TUs transform units
- the adder 195 may generate a reconstructed block by adding the residual block reconstructed by the inverse transform unit 125 and the received prediction block from the intra predictor 150 or the inter predictor 160.
- the post-processing unit 170 may perform a deblocking filtering process to remove the blocking effect occurring in the reconstructed picture, and a sample adaptive offset to compensate for the difference value from the original image in pixel units.
- a SAO application process and a coding unit can perform an adaptive loop filtering (ALF) process to compensate for a difference value from an original image.
- ALF adaptive loop filtering
- the deblocking filtering process may be applied to the boundary of the prediction unit (PU) or transform unit (TU) having a size of a predetermined size or more.
- the deblocking filtering process may include determining a boundary to filter, determining a boundary filtering strength to be applied to the boundary, determining whether to apply a deblocking filter, If it is determined to apply the deblocking filter, the method may include selecting a filter to be applied to the boundary.
- whether the deblocking filter is applied depends on whether i) the boundary filtering intensity is greater than 0 and ii) the degree of change of pixel values at the boundary portions of two blocks (P block, Q block) adjacent to the boundary to be filtered.
- the value represented may be determined by whether the value is smaller than the first reference value determined by the quantization parameter.
- the said filter is at least 2 or more.
- a filter that performs relatively weak filtering is selected.
- the second reference value is determined by the quantization parameter and the boundary filtering intensity.
- sample adaptive offset (SAO) application process is to reduce the distortion (distortion) between the pixel and the original pixel in the image to which the deblocking filter is applied, the sample adaptive offset (SAO) application process in the unit of picture or slice. Whether to perform may be determined.
- the picture or slice may be divided into a plurality of offset regions, and an offset type may be determined for each offset region, and the offset type may be a predetermined number of edge offset types (eg, four) and two band offsets. It can include a type.
- the offset type is an edge offset type
- an edge type to which each pixel belongs is determined and an offset corresponding thereto is applied
- the edge type may be determined based on a distribution of two pixel values adjacent to the current pixel. have.
- the adaptive loop filtering (ALF) process may perform filtering based on a value obtained by comparing a reconstructed image and an original image that have undergone a deblocking filtering process or an adaptive offset application process.
- the picture storage unit 180 receives the post-processed image data from the post-processing unit 170 and restores the image in a picture unit, and the picture may be an image in a frame unit or an image in a field unit.
- the inter prediction unit 160 may perform motion estimation using at least one or more reference pictures stored in the picture storage unit 180, and may determine a reference picture index and a motion vector indicating the reference picture.
- a prediction block corresponding to a prediction unit to be encoded may be extracted from a reference picture used for motion estimation among a plurality of reference pictures stored in the picture storage unit 180 according to the determined reference picture index and the motion vector. have.
- the intra predictor 150 may perform intra prediction encoding by using the reconstructed pixel value inside the picture in which the current prediction unit is included.
- the intra prediction unit 150 may receive the current prediction unit to be predictively encoded, and perform intra prediction by selecting one of a preset number of intra prediction modes according to the size of the current block.
- the intra predictor 150 adaptively filters the reference pixel to generate the intra prediction block, and generates reference pixels using the available reference pixels when the reference pixel is not available.
- the entropy encoder 140 may entropy encode quantized coefficients quantized by the quantizer 130, intra prediction information received from the intra predictor 150, motion information received from the inter predictor 160, and the like. Can be.
- FIG. 6 is a block diagram illustrating an example of a configuration for performing inter prediction in the encoding apparatus 10.
- the inter prediction encoder illustrated in FIG. 6 includes a motion information determiner 161 and a motion information encoding mode determiner 162.
- FIG. 6 Motion information encoder 163, prediction block generator 164, residual block generator 165, residual block encoder 166, and multiplexer 167.
- the motion information determiner 161 determines motion information of the current block, the motion information includes a reference picture index and a motion vector, and the reference picture index is any one of a previously coded and reconstructed picture. Can be represented.
- the current block When the current block is unidirectional inter prediction coded, it represents one of the reference pictures belonging to list 0 (L0), and when the current block is bidirectional predictively coded, it is a reference picture indicating one of the reference pictures of list 0 (L0). It may include an index and a reference picture index indicating one of the reference pictures of the list 1 (L1).
- the current block when the current block is bidirectional predictively coded, the current block may include an index indicating one or two pictures of reference pictures of the composite list LC generated by combining the list 0 and the list 1.
- the motion vector indicates a position of a prediction block in a picture indicated by each reference picture index, and the motion vector may be in pixel units (integer units) or sub pixel units.
- the motion vector may have a resolution of 1/2, 1/4, 1/8 or 1/16 pixels, and if the motion vector is not an integer unit, the prediction block may be generated from pixels of an integer unit Can be.
- the motion information encoding mode determiner 162 may determine an encoding mode for the motion information of the current block as one of a skip mode, a merge mode, and an AMVP mode.
- the skip mode is applied when there are skip candidates having the same motion information as the motion information of the current block and the residual signal is 0.
- the skip mode is that the current block, which is the prediction unit PU, has a size equal to that of the coding unit CU. Can be applied when
- the merge mode is applied when there is a merge candidate having the same motion information as the motion information of the current block, and the merge mode includes a residual signal when the current block has a different size or the same size as the coding unit CU. Applies in the case. Meanwhile, the merge candidate and the skip candidate may be the same.
- the AMVP mode is applied when the skip mode and the merge mode are not applied, and an AMVP candidate having a motion vector most similar to the motion vector of the current block may be selected as an AMVP predictor.
- the motion information encoder 163 may encode motion information according to a method determined by the motion information encoding mode determiner 162.
- the motion information encoder 163 may perform a merge motion vector encoding process when the motion information encoding mode is a skip mode or a merge mode, and may perform an AMVP encoding process when the motion information encoding mode is an AMVP mode.
- the prediction block generator 164 generates a prediction block by using the motion information of the current block.
- the prediction block generator 164 copies the block corresponding to the position indicated by the motion vector in the picture indicated by the reference picture index, and then copies the current block. Generate a predictive block of.
- the prediction block generator 164 may generate pixels of the prediction block from integer unit pixels in a picture indicated by the reference picture index.
- the prediction pixel may be generated using an 8-tap interpolation filter for the luminance pixel, and the prediction pixel may be generated using a 4-tap interpolation filter for the chrominance pixel.
- the residual block generator 165 generates a residual block using the current block and the prediction block of the current block.
- the residual block generator 165 uses the prediction block having a size of 2Nx2N corresponding to the current block and the current block. You can create a block.
- the size of the current block used for prediction is 2NxN or Nx2N
- the last prediction block of 2Nx2N size using the two 2NxN prediction blocks Can be generated.
- a 2Nx2N sized residual block may be generated using the 2Nx2N sized prediction block, and overlap smoothing is applied to the pixels of the boundary part to eliminate discontinuity of the boundary parts of two prediction blocks having 2NxN size. Can be.
- the residual block encoder 166 may divide the residual block into one or more transform units (TUs) so that each transform unit TU may be transform encoded, quantized, and entropy encoded.
- TUs transform units
- the residual block encoder 166 may transform the residual block generated by the inter prediction method using an integer-based transform matrix, and the transform matrix may be an integer-based DCT matrix.
- the residual block encoder 166 uses a quantization matrix to quantize coefficients of the residual block transformed by the transform matrix, and the quantization matrix may be determined by a quantization parameter.
- the quantization parameter is determined for each coding unit CU having a predetermined size or more, and when the current coding unit CU is smaller than the predetermined size, the first coding unit in the coding order among the coding units CU within the predetermined size ( Since only the quantization parameter of the CU) is encoded and the quantization parameter of the remaining coding unit CU is the same as the above parameter, it may not be encoded.
- coefficients of the transform block may be quantized using a quantization matrix determined according to the quantization parameter and the prediction mode.
- the quantization parameter determined for each coding unit CU having a predetermined size or more may be predictively encoded using the quantization parameter of the coding unit CU adjacent to the current coding unit CU.
- a quantization parameter predictor of the current coding unit CU may be generated by searching in the order of the left coding unit CU and the upper coding unit CU of the current coding unit CU using one or two valid quantization parameters. have.
- the first valid quantization parameter found in the above order may be determined as a quantization parameter predictor, and the left first coding unit (CU) is searched in order of the coding unit immediately before the coding order to quantize the first valid quantization parameter. Can be determined by the parameter predictor.
- the coefficients of the quantized transform block are scanned and converted into one-dimensional quantization coefficients, and the scanning scheme may be set differently according to the entropy encoding mode.
- inter prediction coded quantization coefficients may be scanned in a predetermined manner (zigzag or diagonal raster scan) when coded with CABAC, and different from the above method when coded with CAVLC. Can be.
- the scanning method may be determined according to zigzag in case of inter, the intra prediction mode in case of intra, and the coefficient scanning method may be determined differently according to the size of a transform unit.
- the scan pattern may vary according to the directional intra prediction mode, and the scanning order of the quantization coefficients may be scanned in the reverse direction.
- the multiplexer 167 multiplexes the motion information encoded by the motion information encoder 163 and the residual signals encoded by the residual block encoder 166.
- the motion information may vary according to an encoding mode.
- the motion information may include only an index indicating a predictor, and in the case of AMVP, the motion information may include a reference picture index, a differential motion vector, and an AMVP index of the current block. .
- the intra prediction unit 150 receives the prediction mode information and the size of the prediction unit PU from the picture division unit 110, and stores the reference pixel in the picture storage unit to determine the intra prediction mode of the prediction unit PU. Read from 180.
- the intra predictor 150 determines whether a reference pixel is generated by examining whether there is a reference pixel that is not available, and the reference pixels may be used to determine an intra prediction mode of the current block.
- pixels adjacent to the upper side of the current block are not defined. If the current block is located at the left boundary of the current picture, pixels adjacent to the left of the current block are not defined. It may be determined that the pixels are not available pixels.
- the current block is located at the slice boundary and pixels adjacent to the upper or left side of the slice are not pixels that are first encoded and reconstructed, it may be determined that the pixels are not usable pixels.
- the intra prediction mode of the current block may be determined using only the available pixels.
- reference pixels at positions that are not available may be generated using the available reference pixels of the current block.
- the upper pixels may be used using some or all of the left pixels. Can be generated and vice versa.
- the reference pixel is generated by copying the available reference pixel at the position closest to the predetermined direction from the reference pixel at the position not available, or when the reference pixel is not available in the predetermined direction, the closest in the opposite direction.
- the reference pixel can be generated by copying the available reference pixel at the location.
- the upper or left pixels of the current block it may be determined as a reference pixel that is not available according to the encoding mode of the block to which the pixels belong.
- the pixels may be determined as not available pixels.
- reference pixels usable may be generated using pixels belonging to a block in which a block adjacent to the current block is intra-encoded, and the encoding apparatus 10 may determine that the reference pixels are available according to an encoding mode. It transmits to the decoding apparatus 20.
- the intra predictor 150 determines the intra prediction mode of the current block by using the reference pixels, and the number of intra prediction modes allowable in the current block may vary depending on the size of the block.
- the size of the current block is 8x8, 16x16, 32x32, there may be 34 intra prediction modes. If the size of the current block is 4x4, there may be 17 intra prediction modes.
- the 34 or 17 intra prediction modes may be configured of at least one non-directional mode (non-directional mode) and a plurality of directional modes.
- One or more non-directional modes may be DC mode and / or planar mode.
- DC mode and the planner mode are included in the non-directional mode, there may be 35 intra prediction modes regardless of the size of the current block.
- DC mode and planner mode two non-directional modes (DC mode and planner mode) and 33 directional modes may be included.
- the prediction block of the current block is formed by using at least one pixel value (or a prediction value of the pixel value, hereinafter referred to as a first reference value) and reference pixels positioned at the bottom-right side of the current block. Is generated.
- the configuration of an image decoding apparatus may be derived from the configuration of the image encoding apparatus 10 described with reference to FIGS. 1 to 6. For example, as described with reference to FIGS. 1 to 6. By performing the same processes of the same image encoding method in reverse, the image can be decoded.
- the decoding apparatus 20 includes an entropy decoding unit 210, an inverse quantization / inverse transform unit 220, an adder 270, The deblocking filter 250, the picture storage unit 260, the intra predictor 230, the motion compensation predictor 240, and the intra / inter switch 280 are provided.
- the entropy decoder 210 receives and decodes a bit stream encoded by the image encoding apparatus 10, divides the bit stream into intra prediction mode indexes, motion information, quantization coefficient sequences, and the like, and decodes the decoded motion information into a motion compensation predictor ( 240).
- the entropy decoder 210 may transfer the intra prediction mode index to the intra predictor 230 and the inverse quantizer / inverse transformer 220, and may deliver the inverse quantization coefficient sequence to the inverse quantizer / inverse transformer 220. .
- the inverse quantization / inverse transform unit 220 converts the quantization coefficient sequence into inverse quantization coefficients of a two-dimensional array, and selects one of a plurality of scanning patterns for the transformation, for example, the prediction mode of the current block (ie, , Intra prediction or inter prediction), and a scanning pattern may be selected based on the intra prediction mode.
- the prediction mode of the current block ie, Intra prediction or inter prediction
- the inverse quantization / inverse transform unit 220 restores the quantization coefficients by applying a quantization matrix selected from a plurality of quantization matrices to the inverse quantization coefficients of the two-dimensional array.
- a quantization matrix may be selected based on at least one of the prediction mode and the intra prediction mode of the current block for the same size block.
- the inverse quantization / inverse transform unit 220 inversely transforms the reconstructed quantization coefficients to reconstruct the residual block, and the inverse transform process may be performed using a transform unit (TU) as a basic unit.
- TU transform unit
- the adder 270 reconstructs the image block by adding the residual block reconstructed by the inverse quantization / inverse transform unit 220 and the prediction block generated by the intra predictor 230 or the motion compensation predictor 240.
- the deblocking filter 250 may perform deblocking filter processing on the reconstructed image generated by the adder 270 to reduce deblocking artifacts due to image loss due to the quantization process.
- the picture storage unit 260 is a frame memory for storing a local decoded image on which the deblocking filter process is performed by the deblocking filter 250.
- the intra predictor 230 restores the intra prediction mode of the current block based on the intra prediction mode index received from the entropy decoder 210, and generates a prediction block according to the restored intra prediction mode.
- the motion compensation predictor 240 generates a prediction block for the current block from the picture stored in the picture storage unit 260 based on the motion vector information, and applies the selected interpolation filter when a motion compensation with a small precision is applied. Can be generated.
- the intra / inter switch 280 may provide the adder 270 with the prediction block generated by either the intra predictor 230 or the motion compensation predictor 240 based on the encoding mode.
- FIG. 8 is a block diagram illustrating an example of a configuration of performing inter prediction in the image decoding apparatus 20.
- the inter prediction decoder includes a demultiplexer 241, a motion information encoding mode determiner 242, and a merge mode motion.
- An information decoder 243, an AMVP mode motion information decoder 244, a prediction block generator 245, a residual block decoder 246, and a reconstruction block generator 247 are included.
- the merge mode motion information decoder 243 and the AMVP mode motion information decoder 244 may be included in the motion information decoder 248.
- the de-multiplexer 241 demultiplexes the currently encoded motion information and the encoded residual signals from the received bitstream, and transmits the demultiplexed motion information to the motion information encoding mode determiner 242.
- the demultiplexed residual signal may be transmitted to the residual block decoder 246.
- the motion information encoding mode determiner 242 determines the motion information encoding mode of the current block. If the skip_flag of the received bitstream has a value of 1, the motion information encoding mode determiner 242 determines that the motion information encoding mode of the current block is encoded as the skip encoding mode. can do.
- the motion information encoding mode determiner 242 determines the motion information encoding mode of the current block. It may be determined that is encoded in the merge mode.
- the motion information encoding mode determiner 242 has a skip_flag of the received bitstream having a value of 0, and the motion information received from the demultiplexer 241 has a reference picture index, a differential motion vector, and an AMVP index. In this case, it may be determined that the motion information encoding mode of the current block is encoded in the AMVP mode.
- the merge mode motion information decoder 243 is activated when the motion information encoding mode determiner 242 determines that the motion information encoding mode of the current block is a skip or merge mode, and the AMVP mode motion information decoder 244 moves.
- the information encoding mode determiner 242 may be activated when the motion information encoding mode of the current block is determined to be an AMVP mode.
- the prediction block generator 245 generates the prediction block of the current block by using the motion information reconstructed by the merge mode motion information decoder 243 or the AMVP mode motion information decoder 244.
- the prediction block of the current block may be generated by copying a block corresponding to the position indicated by the motion vector in the picture indicated by the reference picture index.
- pixels of the prediction block are generated from integer unit pixels in the picture indicated by the reference picture index.
- an interpolation filter of 8 taps is used for a luminance pixel and a color difference pixel
- Predictive pixels may be generated using a 4-tap interpolation filter.
- the residual block decoder 246 entropy decodes the residual signal and inversely scans the entropy decoded coefficients to generate a two-dimensional quantized coefficient block, and the inverse scanning scheme may vary according to an entropy decoding scheme.
- the reverse scanning method may be applied in a diagonal raster inverse scan manner and in the case of the CAVLC-based decoding in a zigzag inverse scanning manner.
- the inverse scanning scheme may be determined differently according to the size of the prediction block.
- the residual block decoder 246 dequantizes the coefficient block generated as described above using an inverse quantization matrix, and reconstructs a quantization parameter to derive the quantization matrix.
- the quantization step size may be reconstructed for each coding unit of a predetermined size or more.
- the residual block decoder 260 inversely transforms the inverse quantized coefficient block to restore the residual block.
- the reconstruction block generation unit 270 generates a reconstruction block by adding the prediction block generated by the prediction block generation unit 250 and the residual block generated by the residual block decoding unit 260.
- the intra prediction mode of the current block is decoded from the received bitstream, and for this purpose, the entropy decoder 210 may reconstruct the first intra prediction mode index of the current block by referring to one of the plurality of intra prediction mode tables. Can be.
- any one table selected according to the distribution of intra prediction modes for a plurality of blocks adjacent to the current block may be applied.
- the first intra prediction mode index of the current block is restored by applying the first intra prediction mode table, and not the same. Otherwise, the second intra prediction mode table may be applied to restore the first intra prediction mode index of the current block.
- the intra prediction modes of the upper block and the left block of the current block are both the directional intra prediction mode
- the direction of the intra prediction mode of the upper block and the direction of the intra prediction mode of the left block If within this predetermined angle, the first intra prediction mode index is restored by applying the first intra prediction mode table, and if outside the predetermined angle, the first intra prediction mode index is applied by applying the second intra prediction mode table. You can also restore.
- the entropy decoder 210 transmits the first intra prediction mode index of the reconstructed current block to the intra predictor 230.
- the intra prediction unit 230 that receives the index of the first intra prediction mode may determine the maximum possible mode of the current block as the intra prediction mode of the current block when the index has the minimum value (ie, 0). .
- the intra prediction unit 230 compares the index indicated by the maximum possible mode of the current block with the first intra prediction mode index, and as a result of the comparison, the first intra prediction mode. If the index is not smaller than the index indicated by the maximum possible mode of the current block, the intra prediction mode corresponding to the second intra prediction mode index obtained by adding 1 to the first intra prediction mode index is determined as the intra prediction mode of the current block. Otherwise, the intra prediction mode corresponding to the first intra prediction mode index may be determined as the intra prediction mode of the current block.
- the intra prediction mode allowable for the current block may consist of at least one non-directional mode (non-directional mode) and a plurality of directional modes.
- One or more non-directional modes may be DC mode and / or planar mode.
- either DC mode or planner mode may be adaptively included in the allowable intra prediction mode set.
- information specifying the non-directional mode included in the allowable intra prediction mode set may be included in the picture header or the slice header.
- the intra predictor 230 reads reference pixels from the picture storage unit 260 to generate an intra prediction block, and determines whether there is a reference pixel that is not available.
- the determination may be performed according to the presence or absence of reference pixels used to generate the intra prediction block by applying the decoded intra prediction mode of the current block.
- the intra predictor 230 may generate reference pixels at positions that are not available using the available reference pixels reconstructed in advance.
- Definition of a reference pixel that is not available and a method of generating the reference pixel may be the same as the operation of the intra prediction unit 150 of FIG. 1, but generate an intra prediction block according to the decoded intra prediction mode of the current block.
- the reference pixels used to selectively recover may be selectively restored.
- the intra prediction unit 230 determines whether to apply a filter to the reference pixels to generate the prediction block, that is, whether to apply filtering to the reference pixels to generate the intra prediction block of the current block. It may be determined based on the decoded intra prediction mode and the size of the current prediction block.
- the problem of blocking artifacts is that the larger the block size is, the larger the block size can increase the number of prediction modes for filtering the reference pixels, but if the block is larger than the predetermined size can be seen as a flat area, the complexity is reduced The reference pixel may not be filtered for.
- the intra predictor 230 filters the reference pixels by using a filter.
- At least two or more filters may be adaptively applied according to the degree of difference between the steps between the reference pixels.
- the filter coefficient of the filter is preferably symmetrical.
- the above two filters may be adaptively applied according to the size of the current block.
- a narrow bandwidth filter is used for a small block
- a wide bandwidth filter is used for a large block. May be applied.
- the filter does not need to be applied to the reference pixel, and the image is horizontal. It may not be necessary to apply a filter to the reference pixel even in a horizontal mode that is correlated in the direction.
- the reference pixel may be adaptively filtered based on the intra prediction mode of the current block and the size of the prediction block.
- the intra prediction unit 230 generates a prediction block using reference pixels or filtered reference pixels according to the reconstructed intra prediction mode, and the generation of the prediction block is the same as the operation of the encoding apparatus 10. As such, detailed description thereof will be omitted.
- the intra prediction unit 230 determines whether to filter the generated prediction block, and the filtering may be determined by using information included in a slice header or a coding unit header or according to an intra prediction mode of the current block.
- the intra predictor 230 may generate a new pixel by filtering pixels at a specific position of the generated prediction block by using available reference pixels adjacent to the current block. .
- a prediction pixel in contact with reference pixels among the prediction pixels may be filtered using a reference pixel in contact with the prediction pixel.
- the prediction pixels are filtered using one or two reference pixels according to the positions of the prediction pixels, and the filtering of the prediction pixels in the DC mode may be applied to the prediction blocks of all sizes.
- prediction pixels in contact with the left reference pixel among the prediction pixels of the prediction block may be changed by using reference pixels other than the upper pixel used to generate the prediction block.
- the prediction pixels in contact with the upper reference pixel among the generated prediction pixels may be changed using reference pixels other than the left pixel used to generate the prediction block.
- the current block may be reconstructed using the prediction block of the current block reconstructed and the residual block of the decoded current block.
- FIG. 9 illustrates a second exemplary embodiment of a method of dividing and processing an image into blocks.
- a coding tree unit (CTU) having a maximum size of 256 ⁇ 256 pixels may be first divided into a quad tree structure and divided into four coding units (CUs) having a square shape.
- At least one of the coding units divided into the quad tree structure may be divided into a binary tree structure and re-divided into two coding units (CUs) having a rectangular shape.
- At least one of the coding units divided into the quad tree structure may be divided into a quad tree structure and re-divided into four coding units (CUs) having a square shape.
- CUs coding units
- At least one of the coding units re-divided into the binary tree structure may be divided into two binary tree structures and divided into two coding units (CUs) having a square or rectangular shape.
- At least one of the coding units re-divided into the quad tree structure may be divided into a quad tree structure or a binary tree structure and divided into coding units (CUs) having a square or rectangular shape.
- coding blocks (CBs) formed by dividing into a binary tree structure are no longer divided and may be used for prediction and transformation. That is, the sizes of the prediction unit PU and the transform unit TU belonging to the coding block CB as shown in FIG. 9 may be equal to the size of the coding block CB.
- the coding unit split into the quad tree structure as described above may be split into one or two prediction units (PUs) using the method described with reference to FIGS. 3 and 4.
- the coding unit divided into the quad tree structure as described above may be divided into one or more transform units (TUs) by using the method as described with reference to FIG. 5, and the divided transform units (TU) May have a maximum size of 64x64 pixels.
- the syntax structure used to divide and process an image in block units may indicate the partition information using a flag. For example, whether to split the coding unit CU may be indicated using split_cu_flag, and the depth of the coding unit CU split using the binary tree may be indicated using binary_depth. In addition, whether the coding unit (CU) is divided into a binary tree structure may be represented by a separate binary_split_flag.
- Blocks divided by the method as described with reference to FIG. 9 eg, a coding unit (CU), a prediction unit (PU), and a transform unit (TU)
- CU coding unit
- PU prediction unit
- TU transform unit
- the coding unit CU may be divided into a binary tree structure and divided into transform units (TUs) which are basic units for transforming a residual block.
- TUs transform units
- At least one of rectangular coding blocks CB0 and CB1 divided into a binary tree structure and having a size of Nx2N or 2NxN is divided into a binary tree structure again, and has a square transform unit having a size of NxN. Can be divided into TU0 and TU1.
- the block-based image encoding method may perform prediction, transform, quantization, and entropy encoding steps.
- a prediction signal may be generated by referring to a block currently performing encoding and an existing coded image or a neighboring image, and thus a difference signal between the current block and the current block may be calculated.
- the difference signal is input, and the transform is performed using various transform functions.
- the transformed signal is classified into DC coefficients and AC coefficients and is energy compacted to improve encoding efficiency. Can be.
- quantization may be performed by inputting transform coefficients, and then an image may be encoded by performing entropy encoding on the quantized signal.
- the image decoding method is performed in the reverse order of the above encoding process, the image quality distortion may occur in the quantization step.
- the size or shape of a transform unit (TU) and the type of transform function to be applied may be varied according to the distribution of the differential signal input to the input and the characteristics of the image in the conversion step. have.
- a difference is measured using a cost measurement method such as a sum of absolute difference (SAD) or a mean square error (MSE).
- SAD sum of absolute difference
- MSE mean square error
- the signal distribution may occur in various forms according to the characteristics of the image.
- effective encoding can be performed by selectively determining the size or shape of the transform unit CU based on the distribution of various differential signals to perform the transform.
- an effective transform may be performed by dividing the coding block CBx into a binary tree structure and dividing it into two transform units (TUs).
- the DC value can generally be said to represent the average value of the input signal, so that when the differential signal is received at the input of the conversion process, the DC value can be effectively represented by dividing the coding block (CBx) into two transform units (TUs). have.
- a square coding unit CU0 having a size of 2N ⁇ 2N may be divided into a binary tree structure and divided into rectangular transform units TU0 and TU1 having a size of N ⁇ 2N or 2N ⁇ N.
- the step of dividing the coding unit (CU) into a binary tree structure may be repeated two or more times to divide the coding unit (CU) into a plurality of transform units (TUs).
- a rectangular coding block CB1 having a size of Nx2N is divided into a binary tree structure, and a block having a size of the divided NxN is further divided into a binary tree structure to N / 2xN or NxN / 2.
- the block having a size of N / 2xN or NxN / 2 is divided again into a binary tree structure of square conversion units having a size of N / 2xN / 2 (TU1, TU2) , TU4, TU5).
- a square coding block CB0 having a size of 2Nx2N is divided into a binary tree structure, and a block having a size of Nx2N is further divided into a binary tree structure to have a square having a size of NxN.
- the block having the size of NxN may be further divided into a binary tree structure and divided into rectangular transform units TU1 and TU2 having the size of N / 2xN.
- a rectangular coding block CB0 having a size of 2N ⁇ N is divided into a binary tree structure, and a block having the size of divided NxN is further divided into a quad tree structure to have a size of N / 2 ⁇ N / 2.
- Square units may be divided into TU1, TU2, TU3, and TU4.
- FIGS. 1 through 8 for blocks divided by the method as described with reference to FIGS. 10 through 14 (eg, coding unit (CU), prediction unit (PU), and transform unit (TU)).
- coding unit CU
- prediction unit PU
- transform unit TU
- the picture division unit 110 included in the image encoding apparatus 10 performs rate distortion optimization (RDO) according to a preset order, and thus is capable of splitting a coding unit (CU), a prediction unit (PU), and a transform as described above.
- RDO rate distortion optimization
- the partition structure of the unit TU may be determined.
- the picture division unit 110 performs rate distortion optimization-quantization (RDO-Q) while selecting an optimal block division structure in terms of bitrate and distortion. You can decide.
- RDO-Q rate distortion optimization-quantization
- RD may be performed in the order of transform unit (PU) partition structure of 2N ⁇ N pixel size shown in (d) to determine an optimal partition structure of the transform unit PU.
- the coding unit CU has a form of Nx2N or 2NxN pixel size
- the pixel size of Nx2N (or 2NxN) shown in (a) the pixel size of NxN shown in (b), N / 2xN (or NxN / 2) and NxN pixel sizes shown in (c), N / 2xN / 2, N / 2xN and NxN pixel sizes shown in (d), N shown in (e)
- An RDO may be performed in a transform unit (PU) partition structure order of a pixel size of 2 ⁇ N to determine an optimal partition structure of the transform unit PU.
- PU transform unit
- the block division method of the present invention has been described with an example in which a block division structure is determined by performing RDO (Rate distortion Optimization).
- the picture division unit 110 may have a sum of absolute difference (SAD) or mean square error (MSE). By deciding the block division structure using), it is possible to reduce the complexity and maintain proper efficiency.
- SAD sum of absolute difference
- MSE mean square error
- FIGS. 17 and 18 are flowcharts illustrating an image processing method for processing motion information for parallel processing according to an embodiment of the present invention
- FIGS. 19 to 22 are views illustrating a motion information processing method according to an embodiment of the present invention. Figures for illustrating each case.
- the motion compensation unit 160 of the encoding apparatus 10 and the motion information decoding unit 248 of the decoding apparatus 20 respectively process motion information encoding and decoding in the merge and AMVP modes. Processing such as compensation, mode determination, entropy coding, etc. may be implemented in parallel pipelined systems as hardware modules, respectively.
- pipeline stall may occur because the motion compensation process of the current block is not performed.
- the encoding apparatus 10 or the decoding apparatus 20 sequentially groups a plurality of blocks into a parallel motion information prediction unit according to a predetermined random size (S101).
- motion information prediction list based on the obtained motion information is configured by acquiring motion information of at least one available block among blocks other than blocks belonging to the previous parallel motion information prediction unit of the current block in the neighboring block.
- the motion information prediction decoding processing for each mode based on the motion information prediction list can be performed (S107).
- step S103 when there is no block available, the information prediction list moved in step S105 is constructed using a predetermined zero MV or a collocated MV of the same position of the previous frame. Can be.
- the encoding and decoding target blocks may be sequentially grouped according to the encoding and decoding order into parallel MVP units (PMUs) of a predetermined size.
- PMUs parallel MVP units
- the motion compensation unit 160 or the motion information decoding unit 248 may use motion vector information of neighboring blocks such as AMVP or Merge. In performing encoding and decoding processing required, a block included in the PMU (n-1) coded or decoded immediately before the current block may be excluded from the neighboring block.
- the motion compensation unit 160 or the motion information decoding unit 248 may determine that the motion information of the block included in the PMU (n-1) that was previously decoded / decoded with respect to the PMU (n) to which the current block belongs is the current block. Can be excluded when constructing a MVP candidate list. Accordingly, the MVP candidate list corresponding to the current block may be determined from motion information of blocks not included in the PMU (n-1) among neighboring blocks.
- the motion information of I) may further be used for constructing a motion vector prediction (MVP) candidate list.
- MVP motion vector prediction
- At least one of motion vectors of available blocks (eg, blocks on the same picture / tile / slice) among neighboring blocks not included in the PMU (n-1) is converted into a final motion vector prediction (MVP) candidate list. Can be determined.
- MVP motion vector prediction
- the motion compensator 160 or the motion information decoder 248 decodes the motion information by using the neighboring block at the predetermined position, and thus, of the current block belonging to the PMU (n). Identify the neighboring block to be used for the motion prediction (S201), if there is a neighboring block included in the PMU (n-1) (S203), the substitute information of the motion information of the neighboring block included in the PMU (n-1) In operation S205, the motion prediction decoding of the current block using the substitute information is processed without the motion information of the neighboring block included in the PMU (n ⁇ 1) (S207).
- the substitute information may be calculated as a predetermined default value even if the actual motion vector information of the corresponding location is not known, or may be a value determined by deriving from neighboring blocks included in PMU (n).
- the replacement information of the neighboring block included in the PMU (n-1) may be configured as a zero vector or a motion vector at the same position of the previous frame.
- the encoding apparatus 10 may include size information of the PMU in a syntax form in sequence, picture or slice header information and transmit the same.
- the size information of the PMU may be explicitly or implicitly signaled as a value related to a CTU size, a CU (or PU) minimum and a maximum size.
- the encoding apparatus 10 may sequentially group the PMUs according to a preset size, allocate and index the parallel motion information prediction unit index to each unit, and explicitly allocate the allocated index information, Alternatively, the index information may be derived from the decoding device 20.
- the size of the PMU may always be the same as the minimum PU size, or the size of the PMU may be the same as the size of the PU or CU currently being encoded / decoded.
- the PMU size information may not be transmitted explicitly, and the index may be identified according to sequential grouping.
- a thick line represents a CTU
- an internal solid line represents a PU
- a red dotted line represents a PMU
- the motion vector at the lower left of the neighboring motion vectors of the current PU may be a motion vector of a block included in the immediately preceding PMU (n-1) according to the encoding and decoding order.
- the encoding apparatus 10 and the decoding apparatus 20 may exclude motion vectors of neighboring blocks included in the previous PMU (n-1) when constructing a motion vector candidate list. Can be.
- As replacement information of a block included in the PMU (n-1) of the immediately preceding index a zero vector or a collocated MV at the same position of the previous frame may be used when constructing a motion vector candidate list. have.
- the motion block is excluded from the candidate motion vector in the motion vector prediction encoding and decoding of the current block, and instead the zero vector ( zero MV) or a collocated MV of the same position of the previous frame may be used as the candidate motion vector.
- the encoding device 10 and the decoding device 20 exclude the motion vectors of all the left neighboring blocks from the candidate motion vector, and instead, the upper (upper left and Using the motion vectors of the neighboring block, a candidate list for motion vector prediction may be constructed.
- the dependency between the parallel motion information prediction units can be separated, and since the motion information decoding can be processed without waiting for the completion of processing of the block processed in the previous pipeline among the neighboring blocks, the pipeline stall stall can be blocked in advance, thereby improving encoding and decoding efficiency.
- the method according to the present invention described above may be stored in a computer-readable recording medium that is produced as a program for execution on a computer, and examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape , Floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
- the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
- functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
La présente invention concerne un procédé de décodage d'une image qui, selon un mode de réalisation, comprend les étapes suivantes : l'identification d'un indice d'unité de prédiction d'informations de mouvement parallèle d'un bloc actuel dont les informations de mouvement doivent être décodées ; l'obtention d'informations de mouvement d'au moins un bloc voisin parmi des blocs voisins du bloc actuel qui ne sont pas des blocs qui appartiennent à l'unité de prédiction d'informations de mouvement parallèle de l'indice précédent ; et le traitement d'un décodage de prédiction d'informations de mouvement pour le bloc actuel sur la base des informations de mouvement qui ont été obtenues.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211233463.3A CN115426499B (zh) | 2017-03-31 | 2018-02-27 | 图像解码方法和图像编码方法 |
| CN202211233516.1A CN115604484B (zh) | 2017-03-31 | 2018-02-27 | 图像解码方法和图像编码方法 |
| CN201880023458.5A CN110495175B (zh) | 2017-03-31 | 2018-02-27 | 图像解码方法和图像编码方法 |
| CN202211233595.6A CN115426500B (zh) | 2017-03-31 | 2018-02-27 | 图像解码方法和图像编码方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2017-0042271 | 2017-03-31 | ||
| KR1020170042271A KR20180111378A (ko) | 2017-03-31 | 2017-03-31 | 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018182185A1 true WO2018182185A1 (fr) | 2018-10-04 |
Family
ID=63677777
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/002417 Ceased WO2018182185A1 (fr) | 2017-03-31 | 2018-02-27 | Procédé de traitement d'image pour traiter des informations de mouvement pour le traitement parallèle, procédé de décodage et d'encodage utilisant ledit procédé de traitement, et appareil associé |
Country Status (3)
| Country | Link |
|---|---|
| KR (6) | KR20180111378A (fr) |
| CN (4) | CN115604484B (fr) |
| WO (1) | WO2018182185A1 (fr) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020159199A1 (fr) * | 2019-01-28 | 2020-08-06 | 주식회사 엑스리스 | Procédé de codage/décodage de signal d'image et dispositif associé |
| CN113924773A (zh) * | 2019-06-19 | 2022-01-11 | 韩国电子通信研究院 | 图像编码/解码方法和装置以及用于存储比特流的记录介质 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180111378A (ko) * | 2017-03-31 | 2018-10-11 | 주식회사 칩스앤미디어 | 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치 |
| CN117376551B (zh) * | 2023-12-04 | 2024-02-23 | 淘宝(中国)软件有限公司 | 视频编码加速方法及电子设备 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101197176B1 (ko) * | 2011-09-23 | 2012-11-05 | 주식회사 케이티 | 머지 후보 블록 유도 방법 및 이러한 방법을 사용하는 장치 |
| KR20130062325A (ko) * | 2010-12-21 | 2013-06-12 | 인텔 코오퍼레이션 | Dmvd 처리 향상을 위한 시스템 및 방법 |
| US20130272421A1 (en) * | 2010-12-21 | 2013-10-17 | Nec Corporation | Motion estimation device, motion estimation method, motion estimation program and video image encoding device |
| KR20140081682A (ko) * | 2012-12-14 | 2014-07-01 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 장치 |
| KR20160045503A (ko) * | 2014-10-17 | 2016-04-27 | 삼성전자주식회사 | 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3879741B2 (ja) * | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
| JP2006197049A (ja) * | 2005-01-12 | 2006-07-27 | Canon Inc | 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
| WO2007136088A1 (fr) * | 2006-05-24 | 2007-11-29 | Panasonic Corporation | Dispositif et procédé de codage d'image, et circuit intégré de codage d'image |
| JP4178480B2 (ja) * | 2006-06-14 | 2008-11-12 | ソニー株式会社 | 画像処理装置、画像処理方法、撮像装置および撮像方法 |
| CN106851304B (zh) * | 2010-12-14 | 2019-08-30 | M&K控股株式会社 | 用于解码运动画面的设备 |
| CN102651814B (zh) * | 2011-02-25 | 2015-11-25 | 华为技术有限公司 | 视频解码方法、编码方法及终端 |
| JP5979405B2 (ja) * | 2011-03-11 | 2016-08-24 | ソニー株式会社 | 画像処理装置および方法 |
| ES3007107T3 (en) * | 2011-05-31 | 2025-03-19 | Jvckenwood Corp | Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program |
| MX343471B (es) * | 2011-08-29 | 2016-11-07 | Ibex Pt Holdings Co Ltd | Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp). |
| CN107835413A (zh) * | 2011-11-08 | 2018-03-23 | 株式会社Kt | 对视频信号进行解码的方法 |
| WO2014141899A1 (fr) * | 2013-03-12 | 2014-09-18 | ソニー株式会社 | Dispositif et procédé de traitement d'image |
| US10205950B2 (en) * | 2014-02-21 | 2019-02-12 | Panasonic Corporation | Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus |
| US10218166B2 (en) * | 2015-03-03 | 2019-02-26 | Sandisk Technologies Llc | System and method for dynamic monitoring of controller current consumption |
| KR101782153B1 (ko) * | 2015-06-05 | 2017-09-26 | 인텔렉추얼디스커버리 주식회사 | 움직임 벡터 후보 선택 방법 및 이를 이용하는 영상 부호화/복호화 방법 |
| KR20180111378A (ko) * | 2017-03-31 | 2018-10-11 | 주식회사 칩스앤미디어 | 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치 |
-
2017
- 2017-03-31 KR KR1020170042271A patent/KR20180111378A/ko not_active Ceased
-
2018
- 2018-02-27 CN CN202211233516.1A patent/CN115604484B/zh active Active
- 2018-02-27 CN CN202211233595.6A patent/CN115426500B/zh active Active
- 2018-02-27 CN CN201880023458.5A patent/CN110495175B/zh active Active
- 2018-02-27 CN CN202211233463.3A patent/CN115426499B/zh active Active
- 2018-02-27 WO PCT/KR2018/002417 patent/WO2018182185A1/fr not_active Ceased
-
2022
- 2022-01-04 KR KR1020220001140A patent/KR102437729B1/ko active Active
- 2022-08-24 KR KR1020220106371A patent/KR102510696B1/ko active Active
-
2023
- 2023-03-13 KR KR1020230032247A patent/KR102657392B1/ko active Active
-
2024
- 2024-04-09 KR KR1020240047784A patent/KR102896111B1/ko active Active
-
2025
- 2025-12-01 KR KR1020250187385A patent/KR20250171258A/ko active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130062325A (ko) * | 2010-12-21 | 2013-06-12 | 인텔 코오퍼레이션 | Dmvd 처리 향상을 위한 시스템 및 방법 |
| US20130272421A1 (en) * | 2010-12-21 | 2013-10-17 | Nec Corporation | Motion estimation device, motion estimation method, motion estimation program and video image encoding device |
| KR101197176B1 (ko) * | 2011-09-23 | 2012-11-05 | 주식회사 케이티 | 머지 후보 블록 유도 방법 및 이러한 방법을 사용하는 장치 |
| KR20140081682A (ko) * | 2012-12-14 | 2014-07-01 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 장치 |
| KR20160045503A (ko) * | 2014-10-17 | 2016-04-27 | 삼성전자주식회사 | 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020159199A1 (fr) * | 2019-01-28 | 2020-08-06 | 주식회사 엑스리스 | Procédé de codage/décodage de signal d'image et dispositif associé |
| US11611742B2 (en) | 2019-01-28 | 2023-03-21 | Apple Inc. | Image signal encoding/decoding method and device therefor |
| US12126796B2 (en) | 2019-01-28 | 2024-10-22 | Apple Inc. | Image signal encoding/decoding method and device therefor |
| CN113924773A (zh) * | 2019-06-19 | 2022-01-11 | 韩国电子通信研究院 | 图像编码/解码方法和装置以及用于存储比特流的记录介质 |
| US12395638B2 (en) | 2019-06-19 | 2025-08-19 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium for storing bitstream |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20250171258A (ko) | 2025-12-08 |
| CN115426500A (zh) | 2022-12-02 |
| CN115604484A (zh) | 2023-01-13 |
| KR102510696B1 (ko) | 2023-03-16 |
| KR102896111B1 (ko) | 2025-12-04 |
| CN115426499A (zh) | 2022-12-02 |
| KR20180111378A (ko) | 2018-10-11 |
| KR20240052921A (ko) | 2024-04-23 |
| CN115604484B (zh) | 2024-12-10 |
| CN110495175A (zh) | 2019-11-22 |
| KR20220005101A (ko) | 2022-01-12 |
| CN115426500B (zh) | 2025-01-10 |
| KR102657392B1 (ko) | 2024-04-15 |
| CN110495175B (zh) | 2022-10-18 |
| CN115426499B (zh) | 2024-10-25 |
| KR20220120539A (ko) | 2022-08-30 |
| KR20230038687A (ko) | 2023-03-21 |
| KR102437729B1 (ko) | 2022-08-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018070790A1 (fr) | Procédé et dispositif de codage et de décodage d'image | |
| WO2011021838A2 (fr) | Procédé et appareil de codage vidéo et procédé et appareil de décodage vidéo | |
| WO2016200100A1 (fr) | Procédé et appareil de codage ou de décodage d'image au moyen d'une syntaxe de signalisation pour une prédiction de poids adaptatif | |
| WO2018182184A1 (fr) | Procédé de traitement d'image pour réaliser un traitement d'unité d'arbre de codage et unité de codage, procédé de décodage d'image et de codage l'utilisant, et dispositif associé | |
| WO2014171713A1 (fr) | Procédé et appareil de codage/décodage vidéo utilisant une prédiction intra | |
| WO2013002557A2 (fr) | Procédé et appareil pour encoder des informations de mouvement et méthode et appareil pour les décoder | |
| WO2018106047A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2017204427A1 (fr) | Procédé de traitement d'image, et procédé d'encodage et de décodage d'image utilisant celui-ci | |
| WO2018026118A1 (fr) | Procédé de codage/décodage d'images | |
| WO2018066959A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2018008906A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2018008905A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2011096770A2 (fr) | Appareil et procédé de codage/décodage d'image | |
| WO2016085231A1 (fr) | Procédé et dispositif de traitement de signal vidéo | |
| WO2013005962A2 (fr) | Procédé de codage vidéo à intra-prédiction utilisant un processus de vérification pour possibilité de référence unifiée, procédé de décodage vidéo et dispositif associé | |
| WO2013115572A1 (fr) | Procédé et appareil de codage et décodage vidéo basés sur des unités de données hiérarchiques comprenant une prédiction de paramètre de quantification | |
| WO2019194568A1 (fr) | Procédé et dispositif de codage/décodage d'image basé sur un modèle affine | |
| WO2020004979A1 (fr) | Procédé et appareil de codage/décodage d'image | |
| WO2018044089A1 (fr) | Procédé et dispositif pour traiter un signal vidéo | |
| WO2011019213A2 (fr) | Procédés et dispositifs de codage et de décodage vidéo utilisant un filtrage adaptatif à boucle | |
| WO2016159610A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2019235891A1 (fr) | Procédé et appareil de traitement de signal vidéo | |
| WO2019245261A1 (fr) | Procédé et appareil de codage/décodage d'images | |
| WO2019194653A1 (fr) | Procédé de traitement d'image de fourniture de processus de mode de fusion complexe d'informations de mouvement, procédé de codage et de décodage d'image l'utilisant, et appareil associé | |
| WO2019231206A1 (fr) | Procédé et dispositif de codage/décodage d'image |
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: 18776044 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18776044 Country of ref document: EP Kind code of ref document: A1 |