Video Decoding Method

The video decoding method addresses inefficiencies in high-resolution video encoding by deriving and utilizing reference motion information, enhancing efficiency and error resilience in inter prediction.

JP7792491B2Active Publication Date: 2025-12-25ELECTRONICS & TELECOMM RES INST
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024193933
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-12-19
Filing Date
2024-11-05
Publication Date
2025-12-25
Estimated Expiration
2031-12-19

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies face inefficiencies in handling high-resolution, high-quality video formats like UHD, particularly in managing temporal motion information and error resilience during inter prediction.

Method used

A video decoding method that involves deriving and utilizing reference motion information from a reference picture, including steps like counting occurrences, performing median operations, and sub-sampling motion information to improve efficiency and error resilience.

Benefits of technology

Enhances the efficiency and error resilience of video encoding and decoding processes by optimizing the use of temporal motion information, thereby improving the handling of high-resolution video formats.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007792491000011
    Figure 0007792491000011
  • Figure 0007792491000012
    Figure 0007792491000012
  • Figure 0007792491000013
    Figure 0007792491000013
Patent Text Reader

Abstract

To provide a video decoding method.SOLUTION: A video decoding method includes the steps of: deriving reference motion information for a decoding object unit in a current picture; and performing motion compensation for the decoding object unit by utilizing the derived reference motion information. According to the present invention, efficiency of video coding and decoding can be improved.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to video processing, and more particularly to a video decoding method. [Background technology]

[0002] Recently, as HD (High Definition) broadcasting services have expanded not only domestically but also globally, many users have become accustomed to high-resolution, high-quality images, and as a result, many organizations are spurring the development of next-generation video equipment.In addition to HDTV, there has been growing interest in UHD (Ultra High Definition), which has a resolution four times that of HDTV, and there is a demand for compression techniques for higher-resolution, high-quality images.

[0003] For video compression, techniques such as inter-prediction, which predicts pixel values ​​contained in a current picture from previous and / or subsequent pictures, intra-prediction, which predicts pixel values ​​contained in a current picture using pixel information within the current picture, and entropy coding, which assigns short codes to symbols that occur frequently and long codes to symbols that occur infrequently, can be used. Summary of the Invention [Problem to be solved by the invention]

[0004] A technical object of the present invention is to provide a video encoding method that can improve the efficiency of video encoding / decoding.

[0005] Another technical object of the present invention is to provide a video decoding method and apparatus capable of improving the efficiency of video encoding / decoding.

[0006] Another technical object of the present invention is to provide an inter-prediction method and apparatus capable of improving the efficiency of video encoding / decoding.

[0007] Another technical object of the present invention is to provide a method and apparatus for encoding temporal motion information that can improve the efficiency of video encoding / decoding.

[0008] Another technical object of the present invention is to provide a method and apparatus for decoding temporal motion information that can improve the efficiency of video encoding / decoding. [Means for solving the problem]

[0009] 1. One embodiment of the present invention is a video decoding method, comprising: deriving reference motion information for a unit to be decoded in a current picture; and performing motion compensation for the unit to be decoded using the derived reference motion information, wherein the reference motion information is motion information included in a reference picture for the current picture, and includes at least one of a reference picture list, a reference picture index, a motion vector, a prediction direction, and a motion vector predictor.

[0010] In 2.1, the reference motion information deriving step further includes a step of extracting the reference motion information from the reference picture.

[0011] In 3.2, the reference motion information extraction step further includes a step of counting the number of occurrences of each of the multiple motion information in the reference picture to obtain count information, and a step of selecting the reference motion information from the multiple motion information in the reference picture based on the obtained count information.

[0012] In 4.2, the reference motion information extraction step further includes a step of performing a median operation on the motion information in the reference picture to derive a median motion information value, and a step of extracting the median motion information value as the reference motion information.

[0013] In 5.2, the step of extracting reference motion information further includes the step of performing sub-sampling on the motion information in the reference picture.

[0014] In 6.5, the sub-sampling step further includes a step of selecting a block at a predetermined position from a plurality of second-size blocks included in a first-size block in the reference picture and a step of extracting motion information corresponding to the selected block as the reference motion information, and each motion information in the reference picture can be stored in units of the second-size block.

[0015] In 7.6, the predetermined position is the top left position within the block of the first size.

[0016] In 8.2, the reference motion information extraction step further includes a step of grouping motion information in the reference picture into multiple groups, and a step of selecting a predetermined number of motion information from each of the multiple groups as the reference motion information based on the frequency of occurrence of motion information, and in the grouping step, the grouping is performed based on at least one characteristic of the depth value of the unit included in the reference picture, the size of the unit included in the reference picture, and the partition type of the unit included in the reference picture.

[0017] In 9.2, the reference motion information extraction step further includes a step of dividing the reference picture into multiple regions, and a step of selecting a predetermined number of motion information from each of the multiple regions as the reference motion information based on the frequency of occurrence of the motion information.

[0018] In 10.2, if the number of reference pictures is two or more, the reference motion information extraction step further includes a step of selecting a predetermined number of motion information from each of the reference pictures based on the frequency of occurrence of the motion information.

[0019] In 11.10, the reference motion information extraction step further includes a step of deriving a temporal distance from the current picture for each of the reference pictures, and a step of scaling the selected motion information based on the derived temporal distance.

[0020] In 12.1, the motion compensation performing step further includes a step of receiving and decoding a motion information difference for the unit to be decoded, a step of deriving a predicted motion vector for the unit to be decoded, a step of deriving a motion vector for the unit to be decoded using the decoded motion vector difference and the derived predicted motion vector, and a step of performing motion compensation for the unit to be decoded using the derived motion vector.

[0021] In 13.12, the predicted motion vector derivation step further includes a step of using the reference motion information to generate a motion vector candidate for the unit to be decoded, and a step of using the motion vector candidate to derive the predicted motion vector.

[0022] In 14.1, the motion compensation performing step further includes the steps of receiving and decoding a merge index, generating a merge candidate list using the reference motion information, selecting motion information indicated by the merge index from among the merge candidates included in the merge candidate list, and performing motion compensation for the unit to be decoded using the selected motion information.

[0023] In 15.1, if the number of reference motion information is two or more, the motion compensation performing step further includes the steps of receiving and decoding an encoded motion information index, selecting motion information indicated by the motion information index from the reference motion information, and performing motion compensation for the unit to be decoded using the selected motion information.

[0024] In 16.1, the reference motion information deriving step further includes the steps of receiving coded reference motion information and decoding the received reference motion information.

[0025] In 17.16, if the number of the coded reference motion information is two or more, the decoding step uses DPCM (Differential Pulse Code Modulation) to decode the received reference motion information. [Effects of the Invention]

[0026] According to the video encoding method of the present invention, the efficiency of video encoding / decoding can be improved.

[0027] According to the video decoding method of the present invention, the efficiency of video encoding / decoding can be improved.

[0028] According to the inter prediction method according to the present invention, video encoding / decoding efficiency can be improved.

[0029] According to the method for encoding temporal motion information according to the present invention, the efficiency of video encoding / decoding can be improved.

[0030] According to the method for decoding temporal motion information according to the present invention, the efficiency of video encoding / decoding can be improved. [Brief explanation of the drawings]

[0031] [Figure 1] 1 is a block diagram showing the configuration of an embodiment of a video encoding device to which the present invention is applied; [Figure 2] 1 is a block diagram showing the configuration of an embodiment of a video decoding device to which the present invention is applied; [Figure 3] FIG. 1 is a conceptual diagram illustrating an embodiment in which one unit is divided into multiple sub-units. [Figure 4] 1 is a flow chart that schematically illustrates an embodiment of a method for inter prediction at an encoder. [Figure 5] 10 illustrates an embodiment of a reference picture division method. [Figure 6] 10 illustrates an example of reference pictures used for inter prediction and / or motion compensation for a current unit to be coded. [Figure 7] 1 is a flow chart that outlines one embodiment of a method for inter prediction at a decoder. DETAILED DESCRIPTION OF THE INVENTION

[0032] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the examples of this specification, if a detailed description of related known configurations or functions is deemed to obscure the gist of this specification, the detailed description will be omitted.

[0033] When a component is said to be "coupled" or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, but that there may be other components in between. Furthermore, in the present invention, when a component is described as "including" a specific component, it does not exclude components other than the component, but rather means that additional components may be included in the scope of the implementation or technical idea of ​​the present invention.

[0034] Terms such as "first" and "second" may be used to describe various components, but the components should not be limited by these terms. These terms are used only to distinguish one component from another. For example, a first component may be called a "second component," and similarly, a second component may be called a "first component," without departing from the scope of the present invention.

[0035] Furthermore, the components shown in the embodiments of the present invention are illustrated independently to show different characteristic functions, and do not mean that each component is configured as a separate hardware or software unit. That is, each component is included as a separate component for the sake of convenience of explanation, and at least two of the components may be integrated into one component, or one component may be divided into multiple components to perform its function. Such integrated and separated embodiments of each component are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.

[0036] In addition, some components are not essential components for performing essential functions in the present invention, but are optional components merely for improving performance. The present invention may be embodied by including only components essential for embodying the essence of the present invention, excluding components merely used for improving performance, and a structure including only essential components, excluding optional components merely used for improving performance, is also included in the scope of the present invention.

[0037] FIG. 1 is a block diagram showing the configuration of an embodiment of a video encoding device to which the present invention is applied.

[0038] Referring to FIG. 1, the video encoding device 100 includes a motion prediction unit 111, a motion compensation unit 112, an intra prediction unit 120, a switch 115, a subtractor 125, a transform unit 130, a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.

[0039] The video encoding device 100 may perform encoding on an input image in intra mode or inter mode and output a bitstream. Intra prediction refers to intra-frame prediction, and inter prediction refers to inter-frame prediction. In the intra mode, the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be switched to inter. The video encoding device 100 may generate a prediction block for an input block of the input image, and then encode a residual between the input block and the prediction block.

[0040] In the case of intra mode, the intra prediction unit 120 can generate a predicted block by performing spatial prediction using pixel values ​​of already coded blocks surrounding the current block.

[0041] In the case of inter mode, the motion prediction unit 111 may obtain a motion vector by searching for an area that best matches an input block in a reference picture stored in the reference picture buffer 190 during the motion prediction process. The motion compensation unit 112 may generate a prediction block by performing motion compensation using the motion vector. Here, the motion vector is a two-dimensional vector used in inter prediction and may indicate an offset between a current picture to be coded / decoded and a reference picture.

[0042] The subtractor 125 can generate a residual block based on the difference between the input block and the generated prediction block. The transform unit 130 can output transform coefficients by performing a transform on the residual block. The quantization unit 140 can output quantized coefficients by quantizing the input transform coefficients using a quantization parameter.

[0043] The entropy coding unit 150 can output a bit stream by performing entropy coding based on the value calculated by the quantization unit 140 or the coding parameter value calculated during the coding process.

[0044] When entropy coding is applied, fewer bits are assigned to symbols with higher occurrence probabilities and more bits are assigned to symbols with lower occurrence probabilities to represent the symbols, thereby reducing the size of the bit string for the symbols to be coded. Therefore, the compression performance of video coding can be improved through entropy coding. The entropy coding unit 150 can use coding methods such as exponential golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy coding.

[0045] 1 performs inter-prediction coding, i.e., inter-frame predictive coding, so a currently coded image needs to be decoded and stored to be used as a reference image. Therefore, the quantized coefficients are inversely quantized by an inverse quantization unit 160 and inversely transformed by an inverse transform unit 170. The inversely quantized and inversely transformed coefficients are added to a predicted block via an adder 175 to generate a reconstructed block.

[0046] The reconstructed block passes through the filter unit 180, which can apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or the reconstructed picture. The filter unit 180 is also called an adaptive in-loop filter. The deblocking filter can remove block distortion that occurs at boundaries between blocks. The SAO can add an appropriate offset value to pixel values ​​to compensate for coding errors. The ALF can perform filtering based on a value obtained by comparing a reconstructed image with an original image. The reconstructed block that has passed through the filter unit 180 can be stored in the reference picture buffer 190.

[0047] FIG. 2 is a block diagram showing the configuration of an embodiment of a video decoding device to which the present invention is applied.

[0048] Referring to FIG. 2, the video decoding apparatus 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, a motion compensation unit 250, an adder 255, a filter unit 260, and a reference picture buffer 270.

[0049] The video decoding apparatus 200 receives a bitstream output from an encoder and performs decoding in an intra mode or an inter mode to output a reconstructed image, i.e., a restored image. In the intra mode, a switch may be converted to intra, and in the inter mode, a switch may be converted to inter. The video decoding apparatus 200 may obtain a residual block from the input bitstream to generate a prediction block, and then generate a reconstructed block, i.e., a restored block, by adding the residual block and the prediction block.

[0050] The entropy decoding unit 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients. The entropy decoding method is the same as the entropy encoding method described above.

[0051] When the entropy decoding method is applied, a smaller number of bits are assigned to symbols having a higher occurrence probability, and a larger number of bits are assigned to symbols having a lower occurrence probability, thereby reducing the size of the bit string for each symbol. Therefore, the entropy decoding method can improve the compression performance of video decoding.

[0052] The quantized coefficients are inversely quantized in the inverse quantization unit 220 and inversely transformed in the inverse transform unit 230, and a residual block can be generated as a result of the inverse quantization / inverse transformation of the quantized coefficients.

[0053] In the case of an intra mode, the intra prediction unit 240 may generate a predicted block by performing spatial prediction using pixel values ​​of previously coded blocks surrounding the current block. In the case of an inter mode, the motion compensation unit 250 may generate a predicted block by performing motion compensation using a motion vector and a reference picture stored in the reference picture buffer 270.

[0054] The residual block and the prediction block are added via an adder 255, and the added block may pass through a filter unit 260. The filter unit 260 may apply at least one of a deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture. The filter unit 260 may output a reconstructed image, i.e., a reconstructed image. The reconstructed image may be stored in a reference picture buffer 270 and used for inter prediction.

[0055] Hereinafter, the term "unit" refers to a unit of video encoding and decoding. The encoding or decoding unit during video encoding and decoding refers to the unit into which an image is divided and encoded or decoded, and may therefore be called a block, coding unit (CU), coding block, prediction unit (PU), prediction block, transform unit (TU), transform block, etc. Furthermore, one unit may be divided into smaller sub-units.

[0056] Here, a prediction unit refers to a basic unit that serves as a unit for performing prediction and / or motion compensation. The prediction unit may be divided into a plurality of partitions, and each partition may also be referred to as a prediction unit partition. When a prediction unit is divided into a plurality of partitions, each of the plurality of partitions is a basic unit that serves as a unit for performing prediction and / or motion compensation. Hereinafter, in embodiments of the present invention, each partition into which a prediction unit is divided may also be referred to as a prediction unit.

[0057] Meanwhile, as described above, in inter mode, an encoder and a decoder can perform inter prediction and / or motion compensation on a target unit to be encoded / decoded. Here, the target unit to be encoded / decoded refers to a prediction unit and / or a prediction unit partition. In this case, the encoder and decoder can improve encoding / decoding efficiency by using motion vectors of reconstructed neighboring units and / or collocated units. Herein, the reconstructed neighboring units refer to units adjacent to the target unit to be encoded / decoded or located at the corners of the target unit to be encoded / decoded, and are previously encoded or decoded and reconstructed. In addition, the collocated units refer to units that are spatially located at the same position as the target unit to be encoded / decoded in a reconstructed reference picture. Hereinafter, the motion vector of a unit included in a reference picture is referred to as a temporal motion vector. For example, the motion vector of a collocated unit may also be referred to as a temporal motion vector.

[0058] For example, the encoder and decoder can use the reconstructed motion vectors and / or temporal motion vectors of neighboring units as the motion vectors of the current unit to be coded / decoded. In this case, since the current unit to be coded / decoded uses the reconstructed motion vectors and temporal motion vectors of neighboring units, the encoder does not encode the motion vectors of the current unit to be coded / decoded. This reduces the amount of bits transmitted to the decoder, improving coding efficiency. Such inter-prediction modes include skip mode and / or direct mode.

[0059] In this case, the encoder may use an identifier and / or index indicating which of the reconstructed neighboring units' motion vectors is to be used. The inter-prediction mode in which the identifier and / or index is used may also be called a merge mode.

[0060] As another example, the encoder and decoder may perform prediction and / or compensation using the motion vector of a unit to be encoded / decoded, and then use a predicted motion vector for the unit to be encoded / decoded when encoding the motion vector of the unit to be encoded / decoded. Here, the predicted motion vector is a motion vector or a temporal motion vector of a reconstructed neighboring unit. That is, the encoder and decoder may use the motion vector or the temporal motion vector of the reconstructed neighboring unit as a predicted motion vector to efficiently encode the motion vector of the unit to be encoded / decoded.

[0061] The encoder may generate a motion vector difference based on the difference between the motion vector of the current unit to be coded and the predicted motion vector. Here, the motion vector difference refers to a residual value between the motion vector of the current unit to be coded and the predicted motion vector. The encoder may encode the generated motion vector difference and transmit it to the decoder. At this time, the decoder may decode the motion vector difference and derive the motion vector of the current unit to be decoded by adding the decoded motion vector difference and the predicted motion vector. Such an inter-prediction method is sometimes called MVP (Motion Vector Prediction). By using MVP, the amount of information transmitted from the encoder to the decoder can be reduced, thereby improving encoding efficiency.

[0062] In this case, the encoder may use an identifier and / or index that indicates which of the reconstructed neighboring units' motion vectors is to be used. MVP, which additionally uses the identifier and / or index, is also called Advanced Motion Vector Prediction (AMVP).

[0063] In the above-mentioned skip mode, direct mode, merge mode, MVP, AMVP, etc., motion information in a reference picture can be used for prediction and / or motion compensation of a current unit to be coded / decoded. The motion information in a reference picture used for prediction and / or motion compensation of a current unit to be coded / decoded is sometimes called temporal motion information. Temporal motion information includes, for example, a temporal motion vector.

[0064] Here, the term "motion information" refers to coding parameters used in inter prediction and motion compensation. The coding parameters may include not only information encoded by an encoder and transmitted to a decoder, such as syntax elements, but also information that can be inferred during the encoding or decoding process, and refer to information required when encoding or decoding an image. The motion information may include at least one of a reference picture list, a reference picture index, a motion vector, a prediction direction, and a motion vector predictor.

[0065] Here, a reference picture list is a list consisting of multiple reference pictures used in inter prediction. Two reference picture lists can be used in inter prediction, one of which is called reference picture list 0 and the other is called reference picture list 1. In this case, the prediction direction included in the motion information is information indicating which reference picture list is used during inter prediction. That is, the prediction direction can indicate whether reference picture list 0 is used, reference picture list 1 is used, or both reference picture list 0 and reference picture list 1 are used.

[0066] The reference picture index is an index indicating a reference picture used for inter-prediction of a current unit to be coded / decoded among reference pictures included in a reference picture list, and the motion vector predictor refers to a unit that is a prediction candidate and / or a motion vector of the unit that is a prediction candidate when the encoder and decoder predict a motion vector.

[0067] The above-mentioned coding parameters may include not only motion information but also values ​​and / or statistics of an inter-prediction mode, a coded block pattern (CBP), a block size, block partition information, etc. Here, the block partition information may include information on the depth of a unit. The depth information may indicate the number and / or degree to which a unit is partitioned.

[0068] FIG. 3 is a conceptual diagram that illustrates an example in which one unit is divided into multiple sub-units.

[0069] A unit can be hierarchically divided into sub-units with depth information under a tree structure. Each divided sub-unit can have depth information. The depth information can include information on the size of the sub-unit to indicate the number and / or degree to which the unit is divided.

[0070] Referring to 310 in Figure 3, the highest node may be called a root node and may have the smallest depth value. In this case, the highest node may have a depth of level 0 and may indicate the first unit that is not divided.

[0071] A subnode with a depth of level 1 may indicate a unit in which the initial unit is divided once, and a subnode with a depth of level 2 may indicate a unit in which the initial unit is divided twice. For example, in 320 of Figure 3, unit a corresponding to node a is a unit in which the initial unit is divided once, and may have a depth of level 1.

[0072] A leaf node at level 3 may represent a unit that is obtained by dividing the initial unit three times. For example, in 320 of FIG. 3, unit d corresponding to node d is a unit that is obtained by dividing the initial unit three times and may have a depth of level 3. Therefore, the leaf node at level 3, which is the lowest node, may have the deepest depth.

[0073] As described above, encoders and decoders may use temporal motion information (e.g., temporal motion vectors) when performing inter prediction and / or motion compensation using skip mode, direct mode, merge mode, MVP, AMVP, etc. However, inter prediction methods using temporal motion information have a drawback in that a reference picture for a picture to be encoded / decoded must be stored in memory. Furthermore, if a reference picture is lost, motion information (e.g., temporal motion vectors) in the reference picture cannot be used accurately, and errors may propagate as the encoding / decoding process progresses. Therefore, inter prediction methods using temporal motion information may also have drawbacks in terms of error resiliency. Therefore, there is a need for an inter prediction method that can efficiently encode / decode motion information in a reference picture and improve error resiliency.

[0074] FIG. 4 is a flow chart that schematically illustrates an embodiment of a method for inter prediction in an encoder.

[0075] 4, an encoder may extract motion information of a reference picture for a current picture (S410). At this time, the encoder may extract N pieces of motion information from the motion information included in the reference picture. The extracted motion information may be used for inter-prediction and / or motion compensation of a unit to be coded in the current picture. Here, N represents a positive integer, and N refers to a positive integer in the embodiments described below.

[0076] Hereinafter, an embodiment of a method for extracting motion information of a reference picture will be described. The encoder can extract motion information of a reference picture using at least one of the motion information extraction methods described below.

[0077] As an example of a motion information extraction method, an encoder may extract motion information based on the frequency of occurrence of motion information in a reference picture. For example, the encoder may select and extract N pieces of motion information in descending order of frequency of occurrence from the motion information in the reference picture. Table 1 below shows an example of a motion information extraction method based on the frequency of occurrence of motion information.

[0078] [Table 1]

[0079] Referring to Table 1, the encoder may obtain count information by counting the number of occurrences of motion vectors in a reference picture during encoding. In this case, the encoder may select N motion vectors in descending order of frequency of occurrence. In the example of Table 1, when N is 3, the extracted motion vectors are [0,0], [1,0], and [0,-1].

[0080] As another example, the encoder may acquire count information for each component of a motion vector rather than the motion vector itself during the encoding process. Here, since a motion vector has a two-dimensional vector form and can be expressed as [x, y], each component of the motion vector refers to an x ​​component and a y component. In this case, the encoder may select N components in order of frequency of occurrence for each motion vector component. The encoder may extract N motion vectors using the selected motion vector components.

[0081] In the above-described embodiment, the encoder may quantize motion information of a reference picture and then count the frequency of occurrence of the quantized motion information to obtain count information. For example, the encoder may quantize quarter-pixel motion vectors into integer-pixel motion vectors during the encoding process and count the frequency of occurrence of the quantized motion vectors. In this case, the encoder may select and / or extract N motion vectors from the quantized motion vectors in descending order of frequency of occurrence.

[0082] At this time, the encoder can quantize the motion information according to a quantization step size. Information about the quantization step size is stored in the same format in the encoder and decoder. At this time, since the decoder knows the quantization step size used in the encoder, the encoder does not transmit information about the quantization step size to the decoder. If the decoder does not have information about the quantization step size, the encoder can encode the information about the quantization step size and transmit it to the decoder through a bit stream. The decoder can decode the transmitted quantization step size information and use it to quantize the motion information.

[0083] In another embodiment of the motion information extraction method, the encoder can extract temporal motion information by performing a predetermined process on multiple pieces of motion information contained in the reference picture.

[0084] For example, an encoder can extract temporal motion information by performing a median operation on multiple motion information elements included in a reference picture. For example, assume that there are three motion vectors [0,0], [-3,5], and [-4,2] in a reference picture. In this case, the encoder can extract one motion vector [-3,2] by performing a median operation on each component of the motion vectors.

[0085] As another example, the encoder may extract N pieces of motion information by sub-sampling a plurality of pieces of motion information included in the reference picture. For example, it is assumed that the motion vectors in the reference picture are arranged in a two-dimensional form as shown in Table 2 below.

[0086] [Table 2]

[0087] Referring to Table 2, the encoder can extract motion vectors in odd-numbered rows and odd-numbered columns from a two-dimensional motion vector array through sub-sampling. In this case, four motion vectors can be extracted, such as [-2, 4], [0, -1], [5, -1], and [-2, 1].

[0088] As another example of a method for extracting N pieces of motion information by performing subsampling on multiple pieces of motion information contained in a reference picture, the encoder can extract a motion vector corresponding to a specific position from a two-dimensional motion vector array.

[0089] For example, if the motion vectors in the reference picture are arranged in a two-dimensional form as shown in Table 2, the encoder can extract a motion vector corresponding to a specific position from the two-dimensional motion vector arrangement.

[0090] For example, motion vectors may be stored in a two-dimensional motion vector array in units of 4x4 blocks. The encoder may select a block corresponding to a predetermined position from among 4x4 blocks included in 16x16 blocks, and extract a motion vector corresponding to the selected block. Here, the predetermined position may be, for example, the top left position within the 16x16 block. In the example of Table 2, the predetermined position corresponds to the motion vector of [-2,4]. The encoder may extract the motion vector of [-2,4].

[0091] In another embodiment of the motion information extraction method, the encoder may classify and / or group motion information in a reference picture into a plurality of groups based on characteristics of units included in the reference picture. The unit characteristics may include the depth, size, and / or partition type of the unit. In this case, the encoder may extract M (hereinafter, M is a positive integer) pieces of motion information for each group according to the frequency of occurrence, thereby extracting a total of N pieces of motion information.

[0092] For example, if a reference picture has unit depth values ​​ranging from 0 to P-1 (hereinafter, P is a positive integer), the encoder may classify motion information in the reference picture into P groups based on the unit depth values. In this case, the encoder may count the number of occurrences of motion vectors for each group during the encoding process to obtain count information. That is, the encoder may obtain motion vector count information for each unit depth. Based on the count information, the encoder may select M motion vectors for each group in descending order of occurrence frequency, thereby extracting a total of N motion vectors, where N is M*P.

[0093] As another example, if a reference picture includes units of P different sizes, the encoder may classify motion information in the reference picture into P groups based on the unit sizes. In this case, the encoder may acquire count information by counting the number of occurrences of motion vectors for each group during the encoding process. That is, the encoder may acquire count information of motion vectors for each unit size. Based on the count information, the encoder may select M motion vectors for each group in descending order of occurrence frequency, thereby extracting a total of N motion vectors, where N is M*P.

[0094] As another example, if there are P types of partition types in a reference picture, the encoder may classify motion information in the reference picture into P groups based on the partition types. In this case, the encoder may acquire count information by counting the number of occurrences of motion vectors for each group during the encoding process. That is, the encoder may acquire count information of motion vectors for each partition type. Based on the count information, the encoder may select M motion vectors for each group in descending order of occurrence frequency to extract a total of N motion vectors, where N is N*P. Here, the partition unit refers to a basic unit used in inter prediction and motion compensation, and may have a size of L*K (L and K are positive integers).

[0095] In another embodiment of the motion information extraction method, the encoder may divide the reference picture into a plurality of regions, each of which is divided into slices and has a different motion vector occurrence distribution. In this case, the encoder may extract M (hereinafter, M is a positive integer) pieces of motion information for each region according to the occurrence frequency, thereby extracting a total of N pieces of temporal motion information.

[0096] 5 shows an example of a reference picture division method. Referring to FIG. 5, a reference picture may be divided into a first region 510 and a second region 520. Table 3 below shows an example of a motion information extraction method according to the frequency of motion information occurrence when the reference picture is divided into the first region 510 and the second region 520.

[0097] [Table 3]

[0098] Referring to Table 3, the encoder may acquire count information by counting the number of times motion vectors occur for each region during the encoding process. That is, the encoder may acquire count information by counting the number of times motion vectors occur for each of the first region 510 and the second region 520. In this case, the encoder may select M motion vectors in descending order of frequency of occurrence for each region based on the count information, thereby extracting a total of N motion vectors. For example, if a reference picture is divided into two regions and M is 3, the total number of extracted motion vectors is 6.

[0099] As another example of the motion information extraction method, when multiple reference pictures are used for the unit to be coded and / or the current picture, the encoder can extract M pieces of motion information for each reference picture based on their frequency of occurrence, thereby extracting a total of N pieces of temporal motion information.

[0100] 6 shows an example of reference pictures used for inter prediction and / or motion compensation for a current unit. Referring to FIG. 6, a current picture 630 may include a current unit. In this case, a first reference picture 610 and a second reference picture 620 may be used for inter prediction of the current unit. Table 4 below shows an example of a method for extracting motion information according to the frequency of motion information occurrence when multiple reference pictures are used.

[0101] [Table 4]

[0102] Referring to Table 4, the encoder may acquire count information by counting the number of times a motion vector occurs for each reference picture during encoding. That is, the encoder may acquire count information by counting the number of times a motion vector occurs for each of the first reference picture 610 and the second reference picture 620. In this case, the encoder may select M motion vectors in descending order of frequency of occurrence for each reference picture based on the count information, thereby extracting a total of N motion vectors. For example, if two reference pictures are used and M is 3, the total number of extracted motion vectors is 6.

[0103] As another example of the motion information extraction method, when multiple reference pictures are used for the unit to be coded and / or the current picture, the encoder may select M pieces of motion information for each reference picture, and then extract N pieces of temporal motion information by scaling the selected motion information.

[0104] In this case, for example, the encoder may calculate a temporal distance from the current picture for each reference picture and perform scaling using the calculated temporal distance, where the temporal distance is determined based on the display order when the current picture and multiple reference pictures are arranged in the display order.

[0105] For example, the encoder may acquire count information by counting the number of occurrences of motion vectors for each reference picture during encoding. That is, the encoder may acquire count information by counting the number of occurrences of motion vectors for each reference picture. At this time, the encoder may select M motion vectors for each reference picture in descending order of occurrence frequency based on the count information, thereby selecting a total of N motion vectors.

[0106] The encoder may calculate a temporal distance from the current picture for each reference picture. The encoder may perform scaling on the selected motion vector using the calculated temporal distance, and extract the scaled motion vector as a temporal motion vector for the current picture and / or the current coding unit. In this case, if multiple motion vectors among the scaled motion vectors are identical to each other, the encoder may extract only one of the identical motion vectors as a temporal motion vector.

[0107] As an example, assume that two reference pictures are used, each of the reference pictures being a first reference picture and a second reference picture, and that a first temporal distance between the current picture and the first reference picture is 2, and a second temporal distance between the current picture and the second reference picture is 4.

[0108] If the motion vectors selected from the first reference picture are [0,2] and [1,1] and the motion vectors selected from the second reference picture are [0,4] and [2,4], the selected motion vectors are [0,2], [1,1], [0,4], and [2,4]. In this case, the encoder may scale the motion vectors selected from the first reference picture and / or the motion vectors selected from the second reference picture based on the first and second temporal distances. For example, if the motion vectors [0,4] and [2,4] selected from the second reference picture are scaled, the scaled motion vectors are [0,2] and [1,2]. Since [0,2] among the scaled motion vectors is the same as the motion vector selected from the first reference picture, the finally extracted temporal motion vectors may be configured as {[0,2], [1,1], and [1,2]}.

[0109] Meanwhile, the decoder can extract motion information of the reference picture using a method similar to the motion information extraction method used in the encoder. At this time, the encoder does not transmit the extracted motion information to the decoder. Meanwhile, the above-mentioned motion information extraction process can be performed only in the encoder, not the decoder. At this time, the encoder can encode the extracted motion information and transmit it to the decoder.

[0110] Referring back to FIG. 4, the encoder may use the extracted temporal motion information to perform inter prediction and / or motion compensation on the unit to be coded in the current picture (S420).

[0111] For example, the encoder may use the extracted temporal motion information when performing motion vector prediction (MVP) and / or advanced motion vector prediction (AMVP) on the unit to be coded. In this case, the encoder may use a temporal motion vector extracted from a reference picture as one of motion vector candidates. When motion vector prediction and / or AMVP are applied, the encoder may perform inter prediction and / or motion compensation using a block matching algorithm, skip mode, direct mode, etc.

[0112] The block matching algorithm is an algorithm for determining a reference unit for a current unit to be coded among reconstructed units in a reference picture. An encoder may determine a reference unit for a current unit to be coded among reconstructed units in a reference picture using a motion vector of the current unit to be coded. At this time, the encoder may perform inter prediction and / or motion compensation for the current unit to be coded using the determined reference unit.

[0113] In skip mode and direct mode, the motion vector and temporal motion vector of the reconstructed neighboring unit can be used as the motion vector of the current unit, and the reference picture index of the reconstructed neighboring unit can be used as the reference picture index of the current unit. In direct mode, a residual signal for the current unit can be coded and transmitted to the decoder. However, in skip mode, since there is no residual signal, the encoder does not code the residual signal.

[0114] As another example, the encoder may perform inter prediction and / or motion compensation using a merge mode. In the merge mode, the encoder may perform inter prediction and / or motion compensation by using at least one of the reconstructed motion vector and the temporal motion vector of a neighboring unit as the motion vector of the current unit. In this case, the encoder may use the extracted temporal motion vector to derive the motion vector of the current unit. For example, the encoder may use the extracted temporal motion vector as one of the merge candidates included in a merge candidate list. That is, the encoder may generate a merge candidate list using the extracted temporal motion vector.

[0115] In this case, the encoder may encode a merge index and transmit it to the decoder. Here, the merge index indicates which merge candidate among those included in the merge candidate list is to be used for inter prediction and motion compensation of the current unit to be coded. The decoder may receive and decode the merge index and generate a merge candidate list in the same manner as the encoder. In this case, the decoder may derive motion information to be used for inter prediction and motion compensation of the current unit to be coded by using the generated merge candidate list and the decoded merge index.

[0116] In the merge mode, if there is no residual signal for the unit to be coded, the encoder does not code the residual signal, and this coding mode is sometimes called a merge skip mode.

[0117] Meanwhile, two or more pieces of temporal motion information may be extracted from the reference picture. In this case, the encoder may select one piece of the extracted temporal motion information and use the selected piece of temporal motion information for inter prediction and / or motion compensation for the current unit to be coded. In this case, the encoder may select optimal temporal motion information using a rate-distortion optimization (RDO) method. Here, the rate-distortion optimization method refers to a method of selecting an optimal coding method in terms of rate and distortion.

[0118] For example, the encoder may calculate a rate-distortion cost for encoding each of a plurality of temporal motion vectors. The encoder may then select one temporal motion vector having the smallest rate-distortion cost value. The encoder may use the selected temporal motion vector when performing inter prediction and / or motion compensation. The encoder may also encode a motion vector index for the selected temporal motion vector, and the encoded motion vector index may be included in a bitstream and transmitted to a decoder.

[0119] The encoder may use temporal motion information extracted from a reference picture to encode the motion information of the current unit. In this case, the temporal motion information extracted from the reference picture may be used as a predicted value for the motion information of the current unit. Hereinafter, the predicted value for the motion information of the current unit is referred to as predicted motion information, and the predicted value for the motion vector of the current unit is referred to as predicted motion vector.

[0120] For example, the encoder may use a temporal motion vector extracted from a reference picture as a predicted motion vector for the current unit. The encoder may calculate a motion vector difference based on the difference between the motion vector of the current unit and the predicted motion vector. In this case, the encoder may encode the calculated motion vector difference, and the encoded motion vector difference may be included in a bitstream and transmitted to a decoder. Equation 1 below shows an example of a motion vector difference calculation method.

[0121]

number

[0122] Here, motion_vector_difference may indicate a motion vector difference, motion_vector may indicate a motion vector of the current unit to be coded, and extracted_motion_vector may indicate a temporal motion vector extracted from a reference picture.

[0123] 4 again, the encoder may encode motion information extracted from a reference picture and / or information related to the motion information (S430). The encoded information may be included in a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header for the current unit to be encoded and transmitted to the decoder.

[0124] In one embodiment, the encoder may encode a motion information encoding indicator that indicates whether motion information extracted from a reference picture is encoded and transmitted to a decoder. In this case, the motion information encoding indicator may indicate whether the extracted motion information is used for inter prediction and motion compensation. The encoded motion information encoding indicator may be included in a bitstream and transmitted to a decoder.

[0125] For example, the motion information coding indicator is indicated by a syntax element called coded_motion_vector_present_flag, which can be coded in a picture parameter set or a slice header.

[0126] If the value of coded_motion_vector_present_flag is 1, the encoder may encode the extracted temporal motion information and transmit it to the decoder. At this time, the decoder may decode the transmitted temporal motion information. The decoder may perform inter prediction and motion compensation for the current unit using the decoded temporal motion information. If the value of coded_motion_vector_present_flag is 0, the encoder does not encode the extracted temporal motion information. At this time, the decoder does not use the extracted temporal motion information when performing inter prediction and motion compensation.

[0127] The encoder may also encode motion information values ​​extracted from the reference picture, and the encoded motion information values ​​may be included in a bitstream and transmitted to the decoder.

[0128] When multiple motion vectors are extracted from a reference picture, the encoder can encode the extracted motion vector values ​​using DPCM (Difference Pulse Code Modulation). In this case, the encoder can perform prediction for each motion vector using DPCM.

[0129] For example, assume that two motion vectors are extracted from a reference picture. The extracted motion vectors are referred to as a first motion vector and a second motion vector, respectively. Here, the first motion vector is denoted by extracted_motion_vector_1, and the second motion vector is denoted by extracted_motion_vector_2. When DPCM is used, the first motion vector value can be used as a predicted value for the second motion vector value. In this case, when encoding the second motion vector value, the encoder can obtain a motion vector differential for the second motion vector using the predicted value (first motion vector value). This is merely an example and is shown in Equation 2 below.

[0130]

number

[0131] Here, motion_vector_difference_2 indicates the motion vector difference for the second motion vector. Once the motion vector difference is derived using the above method, the encoder can encode the derived motion vector difference value and transmit it to the decoder.

[0132] When only one piece of motion information is extracted from a reference picture, the encoder may encode the extracted motion information value itself without performing prediction on the extracted motion information. In this case, the encoded motion information value may be included in a bitstream and transmitted to a decoder.

[0133] Meanwhile, as described above, the number of pieces of motion information extracted from the reference picture is two or more. If the number of pieces of extracted motion information is two or more, the encoder may select one of the extracted pieces of motion information and use it for inter prediction and / or motion compensation for the current unit to be coded. In this case, the encoder may code a motion information index indicating which piece of motion information is to be used from the extracted pieces of motion information. The coded motion information index may be included in a bitstream and transmitted to a decoder.

[0134] Table 5 below shows an example of the extracted motion vectors when the number of motion vectors extracted from the reference picture is two or more.

[0135] [Table 5]

[0136] Referring to Table 5, a motion information index can be assigned to each motion vector. For example, if [0, -1] is used among the extracted motion vectors, the encoder can encode a motion information index value of 2 and transmit it to the decoder. In this case, the decoder can derive a motion vector used for inter prediction and motion compensation using the transmitted motion information index.

[0137] If there is one piece of motion information extracted from the reference picture, the encoder does not encode the motion information index.

[0138] As will be described later, the decoder can extract N (N is a positive integer) pieces of temporal motion information in the same manner as the encoder. The extracted temporal motion information can be used for inter prediction and motion compensation for the unit to be decoded. In this case, the encoder may not encode the temporal motion information value and / or motion information index extracted from the reference picture.

[0139] According to the above-described inter prediction method, an encoder can efficiently encode temporal motion information during video encoding. Furthermore, since the encoder does not store motion information in a reference picture in memory, memory requirements and memory bandwidth can be reduced and error resilience can be improved during inter prediction and motion compensation for a current unit to be encoded. Therefore, overall video encoding efficiency can be improved.

[0140] FIG. 7 is a flow chart that schematically illustrates one embodiment of a method for inter prediction at a decoder.

[0141] Referring to FIG. 7, the decoder may extract motion information of a reference picture for a current picture (S710).

[0142] The decoder may extract N pieces of motion information from the motion information included in the reference picture. The extracted motion information may be used for inter prediction and / or motion compensation of a unit to be decoded in a current picture. Here, N represents a positive integer, and N in the following embodiments refers to a positive integer.

[0143] The decoder can extract motion information of the reference picture using a method similar to the motion information extraction method used in the encoder. In this case, the decoder can extract motion information that is the same as the temporal motion information extracted by the encoder. An example of the motion information extraction method has been described above with reference to FIG. 4, so it will not be repeated here.

[0144] Meanwhile, as described above, the encoder can encode motion information values ​​extracted from the reference picture, and the encoded motion information values ​​can be included in a bitstream and transmitted to the decoder. In this case, the decoder can derive the motion information of the reference picture from the transmitted bitstream, so the decoder does not perform a motion information extraction process.

[0145] 7, the decoder may decode motion information of a reference picture transmitted by the encoder and / or information related to the motion information (S720). The decoder may decode the information in a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header.

[0146] In one embodiment, the decoder may decode a motion information encoding indicator that indicates whether the temporal motion information extracted by the encoder is to be encoded and transmitted to the decoder. In this case, the motion information encoding indicator may indicate whether the temporal motion information extracted by the encoder is to be used for inter prediction and motion compensation.

[0147] For example, the motion information coding indicator is indicated by a syntax element called coded_motion_vector_present_flag, which can be decoded in a picture parameter set or a slice header.

[0148] If the value of coded_motion_vector_present_flag is 1, the encoder may encode temporal motion information extracted from a reference picture and transmit it to the decoder. At this time, the decoder may decode the transmitted temporal motion information. The decoder may perform inter prediction and motion compensation for the current unit using the decoded temporal motion information. If the value of coded_motion_vector_present_flag is 0, the encoder does not encode the temporal motion information extracted from the reference picture. At this time, the decoder does not decode the extracted temporal motion information and does not use the extracted temporal motion information when performing inter prediction and motion compensation.

[0149] As described above, the encoder may encode motion information values ​​extracted from a reference picture and transmit the encoded motion information values ​​to the decoder, and the decoder may receive and decode the transmitted motion information values.

[0150] When multiple motion vectors are extracted from a reference picture, the encoder may predict the extracted motion vector values ​​using DPCM and then encode the difference between the predicted motion vector values ​​and the extracted motion vector values, i.e., the motion vector differential. The encoded motion vector differential may be transmitted to a decoder, and the decoder may derive temporal motion information using the transmitted motion vector differential.

[0151] For example, assume that two motion vectors are coded in an encoder. The coded motion vectors are referred to as the first motion vector and the second motion vector, respectively. Here, the first motion vector is denoted by extracted_motion_vector_1, and the second motion vector is denoted by extracted_motion_vector_2. When DPCM is used, the first motion vector value can be used as a predicted value for the second motion vector value. In this case, as described above, the encoder can transmit a motion vector difference for the second motion vector to the decoder. Here, the motion vector difference for the second motion vector is denoted by motion_vector_difference_2.

[0152] The decoder may decode a first motion vector value, and may decode a motion vector differential for a second motion vector and add the decoded motion vector differential to the first motion vector value to derive the second motion vector value, as shown, by way of example only, in Equation 3 below.

[0153]

number

[0154] When only one piece of motion information is extracted from a reference picture, the encoder may not perform prediction on the extracted motion information, but may encode the extracted motion information value itself and transmit it to the decoder, and the decoder may decode the transmitted motion information value itself without performing prediction on the motion information.

[0155] Meanwhile, the number of pieces of motion information extracted from the reference picture is two or more. The motion information may be extracted by the encoder and transmitted to the decoder, or may be extracted by the decoder. In this case, the decoder may select one piece of motion information and use it for inter prediction and / or motion compensation for the unit to be decoded.

[0156] As described above, when the number of pieces of motion information extracted from the reference picture is two or more, the encoder may encode a motion information index and transmit the encoded motion information index to the decoder. Here, the motion information index indicates which of the extracted pieces of motion information is to be used. At this time, the decoder may decode the received motion information index. Since the decoder may have multiple pieces of motion information that are the same as the motion information extracted by the encoder, the decoder may select motion information to be used for inter prediction and motion compensation using the decoded motion information index.

[0157] Table 6 below shows an example of the extracted motion vectors when the number of motion vectors extracted from the reference picture is two or more.

[0158] [Table 6]

[0159] Referring to Table 6, each motion vector can be assigned a motion information index. For example, if the motion information index value transmitted from the encoder is 2, the decoder can use the motion vector [0, -1] assigned the index value of 2 for inter prediction and motion compensation.

[0160] If there is only one piece of motion information extracted from the reference picture, the encoder does not encode the motion information index, and in this case, the encoder does not transmit the motion information index, so the decoder does not decode the motion information index.

[0161] Also, as described above, the decoder can extract N (N is a positive integer) pieces of temporal motion information in the same manner as the encoder. The extracted temporal motion information can be used for inter prediction and motion compensation for the unit to be decoded. At this time, the encoder does not encode the temporal motion information values ​​and / or motion information indexes extracted from the reference picture. At this time, the decoder does not decode the motion information values ​​and motion information indexes, etc. That is, the decoding process of the motion information values ​​and motion information indexes, etc., described above can be omitted.

[0162] Through the motion information extraction step (S710) and / or the motion information decoding step (S720), the decoder can derive temporal motion information of the reference picture. The motion information of the reference picture derived by the decoder is the same as the temporal motion information extracted by the encoder. Hereinafter, the motion information of the reference picture derived by the decoder is referred to as reference motion information, and the motion vector of the reference picture derived by the decoder is referred to as reference motion vector.

[0163] Also, referring to FIG. 7, the decoder may perform inter prediction and / or motion compensation for the unit to be decoded in the current picture using the reference motion information derived by the above-described method (S730).

[0164] For example, a decoder may use the reference motion information when performing motion vector prediction (MVP) and / or advanced motion vector prediction (AMVP) on a unit to be decoded. In this case, the decoder may use the reference motion vector as one of motion vector candidates. When motion vector prediction and / or AMVP are applied, the decoder may perform inter prediction and / or motion compensation using the reference motion vector.

[0165] In skip mode and direct mode, the motion vector and temporal motion vector of the reconstructed neighboring unit can be used as the motion vector of the unit to be decoded, and the reference picture index of the reconstructed neighboring unit can be used as the reference picture index of the unit to be decoded. In direct mode, a residual signal for the currently decoded unit can be decoded. However, in skip mode, since there is no residual signal, the decoder does not decode the residual signal.

[0166] As another example, the decoder may perform inter prediction and / or motion compensation using a merge mode. In the merge mode, the decoder may perform inter prediction and / or motion compensation by using at least one of a motion vector and a temporal motion vector of a reconstructed neighboring unit as a motion vector of the current unit. In this case, the decoder may use a reference motion vector to derive the motion vector of the current unit. For example, the decoder may use the reference motion vector as one of the merge candidates included in a merge candidate list.

[0167] In the merge mode, if there is no residual signal for the unit to be decoded, the decoder does not decode the residual signal. This coding mode is also called a merge skip mode.

[0168] Meanwhile, the decoder may derive two or more pieces of reference motion information. In this case, the decoder may select one piece of reference motion information from the derived pieces of reference motion information and use the selected piece of reference motion information for inter prediction and / or motion compensation for the unit to be coded. In this case, for example, the decoder may decode a motion information index transmitted from the encoder and select reference motion information to be used for inter prediction and motion compensation using the decoded motion information index. Here, the motion information index may indicate which reference motion information is to be used from the derived pieces of reference motion information.

[0169] The decoder may use reference motion information to derive motion information of the unit to be decoded, where the reference motion information may be used as a predictor for the motion information of the unit to be decoded.

[0170] For example, the decoder can use the reference motion vector as a predicted motion vector for the unit to be decoded. Here, the predicted motion vector refers to a predicted value for the motion vector of the unit to be decoded. As described above, the encoder can derive a motion vector difference between the motion vector of the unit to be coded and a motion vector extracted from a reference picture, and transmit the motion vector difference to the decoder. In this case, the decoder can receive and decode the motion vector difference, and can derive the motion vector of the unit to be decoded by adding the decoded motion vector difference and the reference motion vector. This can be represented, for example, by the following Equation 4:

[0171]

number

[0172] Here, motion_vector may indicate the motion vector of the unit to be decoded, motion_vector_difference may indicate the motion vector difference, and extracted_motion_vector may indicate the reference motion vector.

[0173] According to the above-described inter prediction method, a decoder can efficiently decode temporal motion information during video decoding. Furthermore, since the decoder does not store motion information in a reference picture in memory, memory requirements and memory bandwidth can be reduced and error resilience can be improved during inter prediction and motion compensation for a unit to be decoded. Therefore, overall video decoding efficiency can be improved.

[0174] In the above-described embodiments, the method is described based on a flowchart with a series of steps or blocks, but the present invention is not limited to the order of steps, and some steps may occur in a different order or simultaneously with other steps than those described above. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and other steps may be included, or one or more steps in the flowchart may be deleted without affecting the scope of the present invention.

[0175] The above-described embodiments include examples of various aspects. It is not possible to describe all possible combinations for illustrating various aspects, but those skilled in the art will recognize that other combinations are possible. Accordingly, the present invention includes all alterations, modifications, and variations that fall within the scope of the appended claims.

Claims

1. deriving spatial motion information from neighboring units of the current block; obtaining a reference picture index associated with temporal motion information of the current block, the reference picture index describing a reference picture having the temporal motion information of the current block among a plurality of reference pictures in a reference picture list; determining the reference picture having the temporal motion information of the current block based on the reference picture index; obtaining spatial merging candidates for the current block from the neighboring units, the spatial merging candidates including the spatial motion information, and temporal merging candidates for the current block from the reference pictures, the temporal merging candidates including the temporal motion information; generating a merge candidate list for the current block including the spatial merge candidates and the temporal merge candidates; performing motion compensation on the current block using the merge candidate list; Equipped with if an indicator obtained from a bitstream indicates that the temporal motion information from the reference picture can be used, the temporal motion information from the reference picture is used to generate the merge candidate list; The step of performing motion compensation includes: obtaining a merge index of the current block; selecting motion information indicated by the merge index from among the merge candidates included in the merge candidate list; performing the motion compensation for the current block using the selected motion information; The video decoding method, wherein the merge index and the reference picture index are obtained from a bitstream.

2. deriving spatial motion information from neighboring units of the current block; obtaining spatial merging candidates for the current block from the neighboring units, the spatial merging candidates including the spatial motion information, and temporal merging candidates for the current block from reference blocks in a reference picture of the current block; generating a merge candidate list for the current block including the spatial merge candidates and the temporal merge candidates; determining a merge index for the current block based on the merge candidate list; Equipped with the merge index of the current block indicates motion information of the current block among merge candidates included in the merge candidate list; the reference picture has temporal motion information of the current block; if the indicator indicates that the temporal motion information from the reference picture can be used, the temporal motion information from the reference picture is used to generate the merge candidate list; the reference picture is one of a plurality of reference pictures in a reference picture list; The reference picture is selected by a reference picture index; The video encoding method, wherein the merge index and the reference picture index are encoded in a bitstream.

3. 1. A method for transmitting a bitstream generated by a video encoding method, comprising: The video encoding method includes: deriving spatial motion information from neighboring units of the current block; obtaining spatial merging candidates for the current block from the neighboring units, the spatial merging candidates including the spatial motion information, and temporal merging candidates for the current block from reference blocks in a reference picture of the current block; generating a merge candidate list for the current block including the spatial merge candidates and the temporal merge candidates; determining a merge index for the current block based on the merge candidate list; Equipped with the merge index of the current block indicates motion information of the current block among merge candidates included in the merge candidate list; the reference picture has temporal motion information of the current block; if the indicator indicates that the temporal motion information from the reference picture can be used, the temporal motion information from the reference picture is used to generate the merge candidate list; the reference picture is one of a plurality of reference pictures in a reference picture list; The reference picture is selected by a reference picture index; 10. A method for transmitting a bitstream, wherein the merge index and the reference picture index are coded in the bitstream.

Citation Information

Patent Citations

  • Method and apparatus for motion prediction in direct mode for multi-viewpoint video

    JP2008509592A

  • Method and apparatus for encoding / decoding motion vector

    WO2011019247A2

  • Video encoding device, video decoding device, and data structure

    WO2011048903A1

  • Image encoding method and image decoding method

    WO2011125211A1

  • Method for deriving a temporal predictive motion vector, and apparatus using the method

    WO2013036041A2