Video decoding method

The inter prediction method in video encoding and decoding technologies improves efficiency by selecting and using optimal reference units from candidate units based on various criteria, enhancing the accuracy of inter prediction and overall video encoding and decoding performance.

JP7697120B2Active Publication Date: 2025-06-23ELECTRONICS & TELECOMM RES INST
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024150866
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-12-13
Filing Date
2024-09-02
Publication Date
2025-06-23
Estimated Expiration
2031-12-13

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies face inefficiencies in inter prediction methods, which affect the overall efficiency of video encoding and decoding processes.

Method used

An inter prediction method that selects candidate units from restored adjacent units to generate a candidate unit set, determines a reference unit from this set, and uses it for inter prediction of the unit to be decoded, optimizing the selection based on various criteria such as boundary length, size, depth, and encoding parameters.

Benefits of technology

This approach enhances the efficiency of video encoding and decoding by improving the accuracy of inter prediction, thereby reducing computational resources and improving compression performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007697120000001
    Figure 0007697120000001
  • Figure 0007697120000002
    Figure 0007697120000002
  • Figure 0007697120000003
    Figure 0007697120000003
Patent Text Reader

Abstract

To provide an inter prediction method and device.SOLUTION: An inter prediction method comprises: a step of selecting candidate units from among reconstructed neighbor units; a step of creating a candidate unit set with respect to units to be decoded, by using the selected candidate units; a step of determining a reference unit from among the candidate units which constitute the created candidate unit set; and a step of performing inter prediction on the units to be decoded, by using the determined reference unit. According to the present invention, efficiency of video encoding / decoding can be improved.SELECTED DRAWING: Figure 1
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 an inter prediction method and apparatus.

Background Art

[0002] Recently, as broadcast services with HD (High Definition) resolution have expanded not only in Japan but also worldwide, many users have become accustomed to high-resolution, high-quality video. As a result, many organizations are accelerating the development of next-generation video equipment. In addition, interest in UHD (Ultra High Definition) with a resolution more than four times that of HDTV has increased along with HDTV, and compression techniques for higher-resolution, high-quality video are required.

[0003] For video compression, an inter prediction technique that predicts pixel values included in the current picture from pictures before and / or after in time, an intra prediction technique that predicts pixel values included in the current picture using pixel information within the current picture, an entropy coding technique that assigns short codes to symbols with high occurrence frequencies and long codes to symbols with low occurrence frequencies, etc. can be used.

Summary of the Invention

Problems to be Solved by the Invention

[0004] A technical problem of the present invention is to provide a video encoding method and apparatus capable of improving the efficiency of video encoding / decoding.

[0005] Another technical problem 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 problem 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 problem of the present invention is to provide a reference unit determination method and apparatus capable of improving the efficiency of video encoding / decoding.

Means for Solving the Problem

[0008] An embodiment of the present invention is an inter prediction method. The method includes steps of selecting candidate units from among the restored adjacent units, using the selected candidate units to generate a candidate unit set for the unit to be decoded, determining a reference unit from among the candidate units constituting the generated candidate unit set, and using the determined reference unit to perform inter prediction for the unit to be decoded. The restored adjacent units include an upper adjacent unit adjacent to the upper part of the unit to be decoded, a left adjacent unit adjacent to the left side of the unit to be decoded, a right upper corner unit located at the right upper corner of the unit to be decoded, a left upper corner unit located at the left upper corner of the unit to be decoded, and a left lower corner unit located at the left lower corner of the unit to be decoded.

[0009] In the candidate unit selection step, the upper adjacent unit, the left adjacent unit, the right upper corner unit, the left upper corner unit, and the left lower corner unit are selected as the candidate units.

[0010] In the candidate unit selection step, the upper adjacent unit and the left adjacent unit are selected as the candidate units.

[0011] In the candidate unit selection step, a unit having a boundary length adjacent to the unit to be decoded that is equal to or greater than a predetermined threshold is selected as the candidate unit from among the restored adjacent units.

[0012] In the candidate unit selection step, a unit having a size equal to or greater than a predetermined threshold is selected as the candidate unit from among the restored adjacent units.

[0013] In the candidate unit selection step, a unit having a depth value equal to or less than a predetermined threshold is selected as the candidate unit from among the restored adjacent units.

[0014] In the candidate unit selection step, the candidate unit is selected based on the relative length between the boundaries where the restored adjacent unit is adjacent to the unit to be decoded, the relative size between the restored adjacent units, or the relative depth value between the restored adjacent units.

[0015] In the candidate unit selection step, at least one of the encoding parameters of the unit to be decoded and the encoding parameters of the restored adjacent unit is used to select the candidate unit. The encoding parameters of the unit to be decoded and the encoding parameters of the restored adjacent unit each include at least one of a motion vector, a reference picture list, a reference picture index, a prediction direction, and a motion vector predictor.

[0016] The first encoding parameter of the unit to be decoded includes a first reference picture list and a first reference picture index. The candidate unit selection step further includes a step of selecting, as the candidate unit, a unit having a second encoding parameter. The second encoding parameter includes at least one of a second reference picture list identical to the first reference picture list and a second reference picture index identical to the first reference picture index.

[0017] In the candidate unit selection step, a unit having the same reference picture as the reference picture of the unit to be decoded is selected as the candidate unit.

[0018] In the candidate unit selection step, only the units encoded by inter prediction are selected as the candidate units.

[0019] In the candidate unit set generation step, the selected candidate units and collocated units are used together to generate the candidate unit set, and the collocated unit is a unit that is in the same spatial position as the unit to be decoded among the units in the reference picture for the unit to be decoded.

[0020] In the candidate unit selection step, a predetermined fixed number of units are selected as the candidate units.

[0021] The predetermined fixed number of units are selected based on the identity between the encoding parameters of the unit to be decoded and the encoding parameters of the restored adjacent units, and the encoding parameters of the unit to be decoded and the encoding parameters of the restored adjacent units each include at least one of a motion vector, a reference picture list, a reference picture index, a prediction direction, and a motion vector predictor.

[0022] The predetermined fixed number of units are selected based on the identity between the reference picture of the unit to be decoded and the reference picture of the restored adjacent units.

[0023] The candidate unit selection step includes a step of receiving an encoding parameter identifier, a step of decoding the received encoding parameter identifier, and a step of selecting the candidate unit based on an encoding parameter value assigned to the decoded encoding parameter identifier, where the encoding parameter value assigned to the encoding parameter identifier is at least one of a length of a boundary where the restored adjacent unit is adjacent to the unit to be encoded, a size of the restored adjacent unit, and a depth value of the restored adjacent unit.

[0024] The reference unit determination step includes a step of receiving a reference unit identifier, a step of decoding the received reference unit identifier, and a step of determining the reference unit using the decoded reference unit identifier, where the reference unit identifier is an identifier that indicates a unit determined as a reference unit from among the candidate units that make up the candidate unit set.

[0025] The codeword length assigned to the reference unit identifier is shorter as the probability that the unit indicated by the reference unit identifier is determined as the reference unit is higher.

[0026] The candidate unit set generation step further includes a step of sorting the candidate units in descending order of the probability of being determined as the reference unit, and in the reference unit determination step, the first unit among the sorted candidate units is determined as the reference unit.

[0027] In the candidate unit set generation step, only one unit with the highest probability of being determined as the reference unit among the candidate units is included in the candidate unit set, and in the reference unit determination step, the one unit included in the candidate unit set is determined as the reference unit.

Advantages of the Invention

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

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

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

[0031] According to the reference unit determination method of the present invention, the efficiency of video encoding / decoding can be improved.

Brief Description of the Drawings

[0032]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Embodiments for Carrying Out the Invention

[0033] Hereinafter, embodiments of the present invention will be specifically described with reference to the drawings. When it is determined that a detailed description of a related known configuration or function obscures the gist of this specification in explaining the embodiments of this specification, the detailed description thereof will be omitted.

[0034] When a component is referred to as being "connected" or "coupled" to another component, it should be understood that it may be directly connected or coupled to the other component in question, or there may be other components in between. Also, in the present invention, the description of including a specific configuration does not exclude configurations other than the corresponding configuration, but means that additional configurations can be included within the scope of the implementation of the present invention or the technical idea of the present invention.

[0035] Terms such as first and second can be used to describe various components, but the components should not be limited by these terms. These terms are only used for the purpose of distinguishing one component from another. For example, unless departing from the scope of the present invention, the first component can be named the second component, and similarly, the second component can be named the first component.

[0036] In addition, the components shown in the embodiments of the present invention are independently illustrated to show different characteristic functions, and it does not mean that each component consists of separate hardware or a single software component. That is, for the convenience of explanation, each component is listed as each component, and at least two of the components can be integrated into one component, or one component can be divided into multiple components to perform functions. Such integrated and separated embodiments of each component are also included in the scope of the present invention unless they depart from the essence of the present invention.

[0037] Some components are not essential components for performing the essential functions in the present invention, but are merely optional components for improving performance. The present invention can be implemented by including only the essential components that embody the essence of the present invention excluding the components used only for performance improvement, and the structure including only the essential components excluding the optional components used only for performance improvement is also included in the scope of the present invention.

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

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

[0040] The video encoding device 100 can perform encoding on an input video in the intra mode or the inter mode and output a bitstream. Intra prediction means in-picture prediction, and inter prediction means inter-picture prediction. In the intra mode, switch 115 can be switched to intra, and in the inter mode, switch 115 can be switched to inter. After the video encoding device 100 generates a prediction block for an input block of the input video, it can encode the residual between the input block and the prediction block.

[0041] In the intra mode, the intra prediction unit 120 can generate a prediction block by performing spatial prediction using the pixel values of the already encoded blocks around the current block.

[0042] In the inter mode, the motion prediction unit 111 can find the region in the reference video stored in the reference picture buffer 190 that best matches the input block in the motion prediction process and obtain a motion vector. The motion compensation unit 112 can generate a prediction block by performing motion compensation using the motion vector. Here, the motion vector is a two-dimensional vector used for inter prediction and can indicate the offset between the currently encoded / decoded target video and the reference video.

[0043] The subtractor 125 can generate a residual block from the residual between the input block and the generated prediction block. The conversion unit 130 can output conversion coefficients by performing a transform on the residual block. Also, the quantization unit 140 can output quantized coefficients by quantizing the input conversion coefficients according to quantization parameters.

[0044] The entropy encoding unit 150 can output a bit stream by performing entropy encoding based on the value calculated by the quantization unit 140, the encoding parameter value calculated in the encoding process, or the like.

[0045] When entropy encoding is applied, a small number of bits are assigned to symbols with a high occurrence probability, and a large number of bits are assigned to symbols with a low occurrence probability, and the symbols are represented. Thus, the size of the bit string for the symbol to be encoded can be reduced. Therefore, the compression performance of video encoding can be enhanced through entropy encoding. The entropy encoding unit 150 can use encoding methods such as exponential golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy encoding.

[0046] The video encoding apparatus according to the embodiment of FIG. 1 performs inter-prediction encoding, that is, inter-picture prediction encoding. Therefore, the currently encoded video needs to be decoded and stored for use as a reference video. Thus, the quantized coefficients are inverse quantized by the inverse quantization unit 160 and inverse transformed by the inverse transform unit 170. The inverse quantized and inverse transformed coefficients are added to the prediction block via the adder 175 to generate a restored block.

[0047] The restoration block passes through the filter unit 180, and the filter unit 180 can apply at least one or more of a deblocking filter, SAO (Sample Adaptive Offset), and ALF (Adaptive Loop Filter) to the restoration block or the restored picture. The filter unit 180 may also be called an adaptive in-loop filter. The deblocking filter can remove block distortion occurring at the boundary between blocks. SAO can add an appropriate offset value to the pixel value to compensate for coding errors. ALF can perform filtering based on a value obtained by comparing the restored video with the original video. The restoration block that has passed through the filter unit 180 can be stored in the reference picture buffer 190.

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

[0049] 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.

[0050] The video decoding apparatus 200 can receive an input of a bitstream output from an encoder and perform decoding in an intra mode or an inter mode to output a reconstructed video, that is, a restored video. In the case of the intra mode, the switch can be switched to intra, and in the case of the inter mode, the switch can be switched to inter. The video decoding apparatus 200 can obtain a residual block from the received bitstream, generate a prediction block, and then add the residual block and the prediction block to generate a reconstructed block, that is, a restored block.

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

[0052] When the entropy decoding method is applied, a small number of bits are assigned to symbols with a high occurrence probability, and a large number of bits are assigned to symbols with a low occurrence probability, and the symbols are represented, so that the size of the bit sequence for each symbol can be reduced. Therefore, the compression performance of video decoding can be enhanced through the entropy decoding method.

[0053] The quantized coefficients can be inverse-quantized by the inverse quantization unit 220 and inverse-transformed by the inverse transform unit 230. As a result of the inverse quantization / inverse transformation of the quantized coefficients, a residual block can be generated.

[0054] In the case of the intra mode, the intra prediction unit 240 can generate a prediction block by performing spatial prediction using the pixel values of the already encoded blocks around the current block. In the case of the inter mode, the motion compensation unit 250 can generate a prediction block by performing motion compensation using the motion vector and the reference video stored in the reference picture buffer 270.

[0055] The residual block and the prediction block are added via the adder 255, and the added block can pass through the filter unit 260. The filter unit 260 can apply at least one of a deblocking filter, SAO, and ALF to the restored block or the restored picture. The filter unit 260 can output the reconstructed video, that is, the restored video. The restored video can be stored in the reference picture buffer 270 and used for inter prediction.

[0056] Hereinafter, a "unit" means a unit of video encoding and decoding. Since the encoding or decoding unit during video encoding and decoding means the divided unit when dividing the video for encoding or decoding, it may be called a block, a coding unit (CU), an encoding block, a prediction unit (PU), a prediction block, a transform unit (TU), a transform block, etc. Also, one unit can be divided into smaller-sized lower-level units.

[0057] Here, the prediction unit means a basic unit that serves as a unit for performing prediction and / or motion compensation. The prediction unit can be divided into a plurality of partitions, and each partition may also be called a prediction unit partition. When the 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 the embodiments of the present invention, each partition obtained by dividing the prediction unit may also be called a prediction unit.

[0058] On one hand, as described above, in the inter mode, the encoder and the decoder can perform prediction and / or motion compensation on the encoding / decoding target unit. Here, the encoding / decoding target unit means a prediction unit and / or a prediction unit partition. At this time, the encoder and the decoder can improve the encoding / decoding efficiency by using the motion vector of the reconstructed neighbor unit. Here, the reconstructed neighbor unit is a unit that has already been encoded or decoded and reconstructed, and includes a unit adjacent to the encoding / decoding target unit, a unit located at the upper right corner of the encoding / decoding target unit, a unit located at the upper left corner of the encoding / decoding target unit, and / or a unit located at the lower left corner of the encoding / decoding target unit.

[0059] As an example, the encoder and the decoder can use the motion vector of the reconstructed neighbor unit as the motion vector of the encoding / decoding target unit. At this time, since the motion vector of the reconstructed neighbor unit is used in the encoding / decoding target unit, the encoder does not encode the motion vector for the encoding / decoding target unit. Therefore, the amount of bits transmitted to the decoder is reduced, and the encoding efficiency can be improved. Such inter-prediction modes include a skip mode and / or a direct mode.

[0060] At this time, the encoder can use an identifier and / or an index indicating which unit's motion vector among the reconstructed neighbor units is used. The inter-prediction mode in which the identifier and / or the index is used is sometimes called a merge mode.

[0061] As another example, after the encoder performs prediction and / or compensation using the motion vector of the unit to be coded, when coding the motion vector of the unit to be coded, the encoder can generate a motion vector difference between the motion vector of the unit to be coded and the motion vector of the restored adjacent unit. The encoder can code the generated motion vector difference and transmit it to the decoder. At this time, the decoder can decode the motion vector difference and derive the motion vector of the unit to be decoded through the sum of the decoded motion vector difference and the motion vector of the restored adjacent unit. 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, and the coding efficiency can be improved.

[0062] At this time, the encoder can use an identifier and / or an index indicating which unit's motion vector among the restored adjacent units is used. The MVP that additionally uses the identifier and / or the index is sometimes called AMVP (Advanced Motion Vector Prediction).

[0063] In the above-described skip mode, direct mode, merge mode, MVP, AMVP, etc., a reference unit is determined from among the restored adjacent units, and the motion vector of the determined reference unit can be used for prediction and / or motion compensation of the current unit to be coded / decoded. Hereinafter, the reference unit means a unit used for prediction and / or motion compensation of the unit to be coded / decoded. When the encoder and the decoder perform inter-prediction and / or motion compensation for the current unit to be coded / decoded, they can use the coding parameters of the reference unit.

[0064] Symbolic parameters can include not only information that is encoded by an encoder and sent to a decoder like a syntax element, but also information that can be inferred during the encoding or decoding process, and it means the necessary information when encoding or decoding video. Symbolic parameters can include, for example, values and / or statistics such as an inter prediction mode, motion information, a coded block pattern (CBP), block size, block partition information, etc.

[0065] Here, motion information means the parameters necessary for inter prediction and motion compensation. Motion information can include at least one of a reference picture list, a reference picture index, a motion vector, a prediction direction, and a motion vector predictor. Here, the reference picture list is a list composed of a plurality of reference videos used for inter prediction, and the reference picture index is an index that indicates the reference picture used for the inter prediction of the unit to be encoded / decoded among the reference pictures included in the reference picture list.

[0066] Two reference picture lists can be used for inter prediction, one may be called reference picture list 0, and the other may be called reference picture list 1. The prediction direction included in the motion information is information that indicates which reference picture list is used during inter prediction. That is, the prediction direction can indicate whether reference picture list 0 is used, whether reference picture list 1 is used, or whether both reference picture list 0 and reference picture list 1 are used. The motion vector predictor means the unit that becomes a prediction candidate and / or the motion vector of the unit that becomes a prediction candidate when the encoder and decoder predict the motion vector.

[0067] The block division information can include information regarding the depth of the unit. The depth information can indicate the number of times and / or the degree to which the unit is divided.

[0068] FIG. 3 is a conceptual diagram schematically showing an embodiment in which one unit is divided into a plurality of lower-level units.

[0069] One unit can be hierarchically divided with depth information under a tree structure. Each divided lower-level unit can have depth information. Since the depth information indicates the number of times and / or the degree to which the unit is divided, it can also include information regarding the size of the lower-level unit.

[0070] Referring to 310 in FIG. 3, the topmost node may be called the root node and can have the smallest depth value. At this time, the topmost node can have a depth of level 0 and can indicate the first unit that is not divided.

[0071] Lower-level nodes with a depth of level 1 can indicate units in which the first unit is divided once, and lower-level nodes with a depth of level 2 can indicate units in which the first unit is divided twice. For example, in 320 of FIG. 3, unit a corresponding to node a is a unit that is divided once by the first unit and can have a depth of level 1.

[0072] Leaf nodes at level 3 can indicate units in which the first unit is divided three times. For example, in 320 of FIG. 3, unit d corresponding to node d is a unit that is divided three times by the first unit and can have a depth of level 3. Therefore, the leaf nodes at level 3, which are the lowermost nodes, can have the deepest depth.

[0073] As described above, when the encoder and decoder perform inter prediction and / or motion compensation using skip mode, direct mode, merge mode, MVP, AMVP, etc., they can determine a reference unit from among the restored adjacent units and use the motion vector of the determined reference unit. The restored adjacent units adjacent to the unit to be encoded / decoded can have different characteristics from each other. For example, the characteristics can be indicated by the respective encoding parameters of the restored adjacent units. Therefore, when the encoder and decoder determine a reference unit for encoding / decoding, it is necessary to efficiently utilize the encoding parameters of the video. Also, one picture can include units of various sizes and units of various depths. Therefore, in order to improve the encoding / decoding performance, a method of determining a reference unit in consideration of the diversity of the unit size and / or depth can be provided.

[0074] FIG. 4 is a flowchart schematically showing an embodiment of a method for determining a reference unit in an encoder.

[0075] Referring to FIG. 4, the encoder can generate a candidate unit set using the restored adjacent units (S410). Here, the candidate unit set means a set of reference unit candidates. The reference unit used for prediction and / or motion compensation of the currently encoded target unit can be determined from among the reference unit candidates. Hereinafter, the candidate unit can have the same meaning as the reference unit candidate.

[0076] The symbolizer can select candidate units from the restored adjacent units according to predetermined criteria and / or methods. At this time, in order to reflect the characteristics of the video, the symbolizer can utilize the encoding parameters of the unit to be encoded and / or the encoding parameters of the restored adjacent units. The symbolizer can include and / or insert the selected candidate units into the candidate unit set to generate a candidate unit set. Specific embodiments of the candidate unit set generation method will be described later.

[0077] Also, referring to FIG. 4, the symbolizer can determine a reference unit used for prediction and / or motion compensation of the currently encoded target unit from among the candidate units included in the generated candidate unit set (S420).

[0078] When the reference unit is determined, the symbolizer can perform inter prediction on the unit to be encoded using the determined reference unit. At this time, when performing inter prediction and / or motion compensation, the symbolizer can use methods such as skip mode, direct mode, merge mode, MVP, AMVP, etc. Specific embodiments of the reference unit determination method will be described later.

[0079] When the reference unit is determined, the symbolizer can encode the reference unit identification information and transmit it to the decoder (S430). The reference unit identification information includes an encoding parameter identifier, a reference unit identifier, etc. Specific embodiments of the encoding method of the reference unit identification information will be described later.

[0080] FIG. 5 is a conceptual diagram schematically showing an embodiment of the candidate unit set generation method.

[0081] The symbolizer can select, from among the restored adjacent units, the units adjacent to the unit to be coded and the units located at the corners of the unit to be coded as candidate units and include them in the set of candidate units. A unit to which inter prediction and / or motion compensation is performed is a prediction unit (Prediction Unit).

[0082] Hereinafter, a unit adjacent to the upper part of the unit to be coded is referred to as an upper adjacent unit, and a unit adjacent to the left side of the unit to be coded is referred to as a left adjacent unit. Also, a unit located at the upper right corner of the unit to be coded is referred to as an upper right corner unit, a unit located at the upper left corner of the unit to be coded is referred to as an upper left corner unit, and a unit located at the lower left corner of the unit to be coded is referred to as a lower left corner unit.

[0083] Referring to 510 in FIG. 5, the symbolizer can select the left adjacent unit (A), the upper adjacent unit (B), the upper right corner unit (C), the upper left corner unit (D), and the lower left corner unit (E) as candidate units included in the set of candidate units. At this time, as an example, the generated set of candidate units can be configured as {A, B, C, D, E}.

[0084] Referring to 520 in FIG. 5, the symbolizer can select the left adjacent units (A, B, C), the upper adjacent units (D, E, F), the upper right corner unit (G), the upper left corner unit (H), and the lower left corner unit (M) as candidate units included in the set of candidate units. At this time, as an example, the generated set of candidate units can be configured as {H, D, E, F, G, A, B, C, M}.

[0085] In the foregoing embodiments, the encoder can also select only a specific unit among the left adjacent units as a candidate unit. For example, the encoder can select only the unit located at the bottommost row among the left adjacent units as a candidate unit. Also, the encoder can select only a specific unit among the upper adjacent units as a candidate unit. For example, the encoder can select only the unit located at the rightmost side among the upper adjacent units as a candidate unit. In this case, the set of candidate units generated at 520 in FIG. 5 is {H, F, G, C, M}.

[0086] FIG. 6 is a conceptual diagram schematically showing another embodiment of the candidate unit set generation method.

[0087] The encoder can select, from among the restored adjacent units, the unit adjacent to the left side of the unit to be encoded and the unit adjacent to the upper side of the unit to be encoded as candidate units and include them in the candidate unit set.

[0088] Referring to 610 in FIG. 6, the encoder can select the left adjacent unit (A) and the upper adjacent unit (B) as candidate units included in the candidate unit set. At this time, as an example, the generated candidate unit set can be configured as {A, B}.

[0089] Referring to 620 in FIG. 6, the encoder can select the left adjacent units (A, B, C) and the upper adjacent units (D, E, F) as candidate units included in the candidate unit set. At this time, as an example, the generated candidate unit set can be configured as {D, E, F, A, B, C}.

[0090] FIG. 7 is a conceptual diagram schematically showing another embodiment of the candidate unit set generation method. In the embodiment of FIG. 7, it is assumed that the size of the unit to be encoded (X) is 16×16, the sizes of the C, D, H, and M units are 8×8, and the sizes of the remaining units are 4×4.

[0091] As described above with reference to FIG. 6, the encoder can select, from among the restored adjacent units, the unit adjacent to the left side of the unit to be encoded and the unit adjacent to the upper side of the unit to be encoded as candidate units. At this time, the encoder can also select, from among the left adjacent unit and the upper adjacent unit, only the unit whose boundary length adjacent to the unit to be encoded is equal to or greater than a predetermined length as a candidate unit and include it in the candidate unit set. Here, the predetermined length is a positive integer. Hereinafter, the boundary where the unit to be encoded and the restored adjacent unit are adjacent is referred to as an adjacent boundary.

[0092] Referring to FIG. 7, the encoder can select, as candidate units, only the units whose boundary length adjacent to the unit to be encoded is 8 or more. The C and D units are 8×8 in size, and since the boundary length where the unit to be encoded is adjacent to the C and D units is 8, they can be selected as candidate units included in the candidate unit set. On the other hand, the A, B, E, and F units are 4×4 in size, and since the boundary length where the unit to be encoded is adjacent to the A, B, E, and F units is 4, they are not selected as candidate units included in the candidate unit set. At this time, as an example, the generated candidate unit set is {C, D}.

[0093] As another example, the encoder can also select the candidate units included in the candidate unit set based on the relative lengths of the adjacent boundaries of the left adjacent unit and the upper adjacent unit. That is, the encoder can compare the adjacent boundary lengths of the units adjacent to the unit to be encoded with each other to select candidate units.

[0094] For example, among the restored adjacent units, if there are a unit with an adjacent boundary length of 4 and a unit with an adjacent boundary length of 8, the encoder can include only the latter unit with a relatively long adjacent boundary length in the candidate unit set. As another example, among the restored adjacent units, if there are a unit with an adjacent boundary length of 16 and a unit with an adjacent boundary length of 4, the encoder can include only the latter unit with a relatively short adjacent boundary length in the candidate unit set.

[0095] FIG. 8 is a conceptual diagram schematically showing another embodiment of the candidate unit set generation method. In the embodiment of FIG. 8, it is assumed that the size of the unit (X) to be encoded is 16×16, the sizes of the C, D, H, and M units are 8×8, and the sizes of the remaining units are 4×4.

[0096] As described above with reference to FIG. 5, the encoder can select, as candidate units, the units adjacent to the unit to be encoded and the units located at the corners of the unit to be encoded from among the restored adjacent units. At this time, the encoder can also select only the units with a size equal to or greater than a predetermined size from among the units adjacent to the unit to be encoded and the units located at the corners of the unit to be encoded, and include them in the candidate unit set. Here, the predetermined size is m*n (m is a positive integer, n is a positive integer).

[0097] Referring to FIG. 8, the encoder can select only the units having a size of 8×8 or more as candidate units. Since the C, D, H, and M units have a size of 8×8, they can be selected as candidate units included in the candidate unit set. On the other hand, since the A, B, E, F, and G units have a size of 4×4, they are not selected as candidate units included in the candidate unit set. At this time, as an embodiment, the generated candidate unit set can be configured as {C, D, H, M}.

[0098] As another example, the encoder can also select candidate units included in the candidate unit set based on the relative sizes of the restored adjacent units. That is, the encoder can compare the sizes of the restored adjacent units with each other to select candidate units. For example, if there are restored adjacent units with a size of 8×8 and restored adjacent units with a size of 16×16, the encoder can include only the latter units with a relatively larger size in the candidate unit set.

[0099] FIG. 9 is a conceptual diagram schematically showing another embodiment of the candidate unit set generation method. In the embodiment of FIG. 9, it is assumed that the depth value of the unit (X) to be encoded is 0, the depth values of the C, D, H, and M units are 1, and the depth values of the remaining units are 2.

[0100] As described above with reference to FIG. 5, the encoder can select, from among the restored adjacent units, the units adjacent to the unit to be encoded and the units located at the corners of the unit to be encoded as candidate units. At this time, the encoder can also select only the units with a depth of a predetermined value or less from among the units adjacent to the unit to be encoded and the units located at the corners of the unit to be encoded as candidate units and include them in the candidate unit set. Here, the predetermined depth is n (n is a positive integer).

[0101] Referring to FIG. 9, the encoder can select only the units with a depth of 1 or less as candidate units. Since the C, D, H, and M units have a depth of 1, they can be selected as candidate units included in the candidate unit set. On the other hand, since the A, B, E, F, and G units have a depth of 2, they are not selected as candidate units included in the candidate unit set. At this time, as an embodiment, the generated candidate unit set can be configured as {H, D, C, M}.

[0102] As another example, the encoder can also select candidate units included in the candidate unit set based on the relative depth of the restored adjacent units. That is, the encoder can compare the depths of the restored adjacent units with each other to select candidate units. For example, if there are restored adjacent units with a depth of 0 and restored adjacent units with a depth of 2, the encoder can include only the former units with a relatively small depth value in the candidate unit set.

[0103] As another embodiment, the encoder can use the encoding parameters of the unit to be encoded and / or the encoding parameters of the restored adjacent units to select candidate units included in the candidate unit set. At this time, the encoder can also select candidate units by using the encoding parameter relevance between the unit to be encoded and the restored adjacent units, or can also select candidate units by using only the encoding parameters of the restored adjacent units.

[0104] As an example, after determining whether the motion information of the restored adjacent units is the same as the motion information of the unit to be encoded, the encoder can select only the units having the same motion information as the unit to be encoded from among the restored adjacent units as candidate units and include them in the candidate unit set. For example, the motion information is at least one or more of a motion vector, a reference picture list, a reference picture index, a prediction direction, and a motion vector predictor.

[0105] As another example, after determining whether the motion information of the restored adjacent unit is similar to the motion information of the unit to be encoded, the encoder can select only the units having motion information similar to the unit to be encoded from the restored adjacent units as candidate units and include them in the candidate unit set. For example, the motion information is at least one of a motion vector, a reference picture list, a reference picture index, a prediction direction, and a motion vector predictor. If the motion information of the restored adjacent unit and the motion information of the unit to be encoded are not exactly the same but meet a predetermined criterion, they can be determined to be similar to each other.

[0106] Examples in the case where the motion information of the restored adjacent unit is similar to the motion information of the unit to be encoded are as follows. For example, if the difference in the magnitude of each component of the motion vector of the restored adjacent unit and the motion vector of the unit to be encoded is less than a predetermined magnitude in integer pixel units, it can be determined that the motion information of the restored adjacent unit is similar to the motion information of the unit to be encoded. Here, the predetermined magnitude is an arbitrary natural number and / or a positive real number, and as an example, it is 1. As another example, if the restored adjacent unit and the unit to be encoded have different reference picture lists from each other but use the same reference picture, it can be determined that the motion information of the restored adjacent unit is similar to the motion information of the unit to be encoded. As another example, if the restored adjacent unit and the unit to be encoded have different reference picture indexes from each other but use the same reference picture, it can be determined that the motion information of the restored adjacent unit is similar to the motion information of the unit to be encoded.

[0107] Also, for example, the encoder does not select, as candidate units, units encoded by intra prediction from among the restored adjacent units. At this time, the encoder does not include units encoded by intra prediction in the candidate unit set. As an example, the encoder can select, as candidate units, only the units encoded by inter prediction from among the restored adjacent units and include them in the candidate unit set.

[0108] After determining the presence or absence of a residual signal for the restored adjacent units, the encoder can also select, as candidate units, units without a residual signal from among the restored adjacent units and include them in the candidate unit set. Here, the presence or absence of the residual signal can be determined via the values of CBP (Coded Block Pattern) and / or CBF (Coded Block Flag), which are syntax elements for the presence or absence of the residual signal.

[0109] In the embodiments of the candidate unit set generation method described above, the number of candidate units included in the candidate unit set can be limited to a predetermined number (for example, N). Here, N can represent a positive integer greater than 0.

[0110] When the number of candidate units included in the set of candidate units is limited to N, the encoder can select only N units as candidate units from among the restored adjacent units by using a predetermined criterion. Here, the predetermined criterion includes the degree of adjacency to the unit to be encoded, the degree of adjacency to the boundary of the unit to be encoded, the relative and / or absolute length of the boundary adjacent to the unit to be encoded, the relative and / or absolute size of the restored adjacent unit, the relative and / or absolute depth value of the restored adjacent unit, the encoding / decoding order of the restored adjacent unit, and the identity / similarity between the encoding parameters of the unit to be encoded and the encoding parameters of the restored adjacent unit. There has been an example of the case where the encoding parameters of the restored adjacent unit and the encoding parameters of the unit to be encoded are similar. For example, when the restored adjacent unit and the unit to be encoded use the same reference picture, it can be determined that the encoding parameters of the restored adjacent unit and the encoding parameters of the unit to be encoded are similar.

[0111] For example, the number of candidate units included in the set of candidate units is two. At this time, as an example, the encoder can select two units in descending order of the length of the boundary adjacent to the unit to be encoded from among the restored adjacent units and include them in the set of candidate units.

[0112] As another example, the number of candidate units included in the set of candidate units is three. Also, as an example, the restored adjacent units can have the same motion information. At this time, the encoder can select three units that are restored later in the encoding / decoding order from among the restored adjacent units having the same motion information and include them in the set of candidate units.

[0113] On the one hand, in the embodiment of the candidate unit set generation method described above, the candidate units included in the candidate unit set can be sorted in descending order of the probability of being determined as a reference unit for the unit to be encoded. That is, the encoder can preferentially include and / or insert into the candidate unit set the units with a high probability of being determined as a reference unit for the unit to be encoded. At this time, the encoder can assign a reference unit identifier with a short codeword to the candidate unit with a high probability of being determined as a reference unit, so as to improve the encoding efficiency.

[0114] FIG. 10 is a conceptual diagram schematically showing an embodiment of a method for determining the order in which candidate units are included in a candidate unit set. In FIG. 10, it is assumed that the order in which the restored adjacent units are encoded / decoded is H→D→K→L→E→F→N→O→G→P→I→A→J→B→C→M.

[0115] For example, the encoder can select, from among the restored adjacent units, the unit adjacent to the left side of the unit to be encoded and the unit adjacent to the upper side of the unit to be encoded as candidate units and include them in the candidate unit set. At this time, the encoder can include the selected candidate units in the candidate unit set according to the encoding / decoding order.

[0116] Referring to FIG. 10, the encoder can preferentially include the previous candidate units in the candidate unit set in the order of encoding / decoding. Since the units adjacent to the current unit to be encoded (X) can be encoded / decoded in the order of D→E→F→A→B→C, the generated candidate unit set can be configured as {D, E, F, A, B, C}.

[0117] As another example, the encoder can sort the candidate units included in the set of candidate units in descending order of the length of the boundary adjacent to the unit to be encoded. That is, the encoder can preferentially include and / or insert into the set of candidate units the candidate units with a longer boundary length adjacent to the unit to be encoded.

[0118] As another example, the encoder can sort the candidate units included in the set of candidate units in ascending order of the depth value. That is, the encoder can preferentially include and / or insert into the set of candidate units the candidate units with a smaller depth value.

[0119] In the embodiments of the above-described method for generating a set of candidate units, the encoder can select the candidate units included in the set of candidate units from among the restored surrounding blocks. At this time, the candidate units selected from among the restored surrounding blocks may also be referred to as spatial candidate units.

[0120] In addition to the spatial candidate units, the encoder can also select, as candidate units, the units in the reference picture that are at the same spatial position as the unit to be encoded and include them in the set of candidate units. Hereinafter, for the sake of convenience of explanation, among the units in the reference picture, the units that are at the same spatial position as the unit to be encoded are referred to as collocated units and / or collocated blocks. At this time, the candidate units selected from among the units in the reference picture may also be referred to as temporal candidate units.

[0121] In the candidate unit set generation process described above, the encoder can utilize the encoding parameter identifier for the restored adjacent unit. At this time, the candidate units included in the candidate unit set can be selected by using the encoding parameter identifier. Here, the encoding parameters for which the encoding parameter identifier is used include, for example, the length of the boundary where the unit to be encoded and the restored adjacent unit are adjacent, the size of the restored adjacent unit, the depth value of the restored adjacent unit, and the like.

[0122] A predetermined value can be assigned to the encoding parameter identifier. At this time, as an example, the encoder can select, from the restored adjacent units, a unit having an encoding parameter with the same value as the value assigned to the encoding parameter identifier as a candidate unit. As another example, the encoder can select, from the restored adjacent units, a unit having an encoding parameter with a value greater than the value assigned to the encoding parameter identifier as a candidate unit. As another example, the encoder can also select, as a candidate unit, a unit having an encoding parameter with a value smaller than the value assigned to the encoding parameter identifier.

[0123] For example, assume that a coding parameter identifier is used for the length of the boundary where the unit to be coded and the restored adjacent unit are adjacent. Here, the coding parameter identifier is indicated by log2_unit_boundary_length. As described above, the encoder can also select only the units in the restored adjacent units whose boundary length adjacent to the unit to be coded is greater than a predetermined length as candidate units and include them in the candidate unit set. Here, assuming that the predetermined length is 8, a value of 3 can be assigned to the coding parameter identifier log2_unit_boundary_length. At this time, the encoder can select only the units having an adjacent boundary length greater than the value assigned to the coding parameter identifier as candidate units and include them in the candidate unit set. Also, the encoder can code the coding parameter identifier to which a value of 3 is assigned and transmit it to the decoder.

[0124] When the candidate unit set is generated, the encoder can determine a reference unit used for prediction and / or motion compensation of the currently coded unit from among the candidate units included in the generated candidate unit set.

[0125] FIG. 11 is a conceptual diagram schematically explaining a method for determining a reference unit in an encoder according to an embodiment of the present invention.

[0126] The encoder can determine, as a reference unit, a candidate unit showing the optimal coding efficiency from the viewpoint of rate-distortion among the candidate units included in the candidate unit set. Also, as described above, the encoder can use the coding parameters (for example, motion information, etc.) of the candidate units included in the candidate unit set for inter prediction and motion compensation. At this time, the encoder can use the encoding parameter to determine, as the reference unit, a candidate unit that exhibits the optimal encoding efficiency from the perspective of rate-distortion. Here, the method of selecting the optimal encoding method from the perspectives of rate and distortion may also be referred to as rate-distortion optimization (RDO).

[0127] When the reference unit is determined by the rate-distortion optimization method, the encoder can encode a reference unit identifier indicating which candidate unit among the candidate units included in the candidate unit set is determined as the reference unit and transmit it to the decoder. As an example, the reference unit identifier can indicate the order and / or position of the candidate unit determined as the reference unit within the candidate unit set. As another example, the reference unit identifier can indicate the encoding order difference from the unit to be encoded to the reference unit. As another example, a reference unit index can be assigned to each of the candidate units in the candidate unit set, and the reference unit index can be used as the reference unit identifier.

[0128] Referring to FIG. 11, the candidate unit set can be configured as {A, B, C, D, E, F} as an example. At this time, a reference unit index can be assigned to each candidate unit. For example, an index of 0 can be assigned to A, 1 to B, 2 to C, 3 to D, 4 to E, and 5 to F.

[0129] The encoder can encode the reference unit index and transmit it to the decoder, and the decoder can receive and decode the encoded reference unit index. When the encoder determines B as the reference unit, the value of the reference unit index transmitted to the decoder is 1. At this time, the decoder can use the value of the reference unit index to determine unit B as the reference unit.

[0130] FIG. 12 is a conceptual diagram schematically explaining a method for determining a reference unit in an encoder according to another embodiment of the present invention. In FIG. 12, it is assumed that the order in which the restored adjacent units are encoded / decoded is H→D→K→L→E→F→N→O→G→P→I→A→J→B→C→M.

[0131] As described above, the encoder in the candidate unit set generation process can arrange the candidate units included in the candidate unit set in descending order of the probability of being determined as a reference unit. At this time, the encoder can determine the first candidate unit among the candidate units included in the candidate unit set as the reference unit.

[0132] Referring to FIG. 12, the encoder can select the units adjacent to the unit to be encoded as candidate units. At this time, the selected candidate units are A, B, C, D, E, F. The encoder can arrange the selected candidate units according to the encoding / decoding order. For example, the encoder can preferentially include the units encoded later in the encoding order in the candidate unit set. At this time, the candidate unit set can be configured as {C, B, A, F, E, D}. The encoder can determine the first candidate unit C in the candidate unit set as the reference unit. In this case, the candidate unit with the smallest encoding order difference from the unit to be encoded can be determined as the reference unit.

[0133] When the first candidate unit in the candidate unit set is determined as the reference unit, the encoder and the decoder can determine the reference unit without a separate reference unit identifier. Therefore, the encoder does not encode the reference unit identifier and does not transmit the reference unit identifier to the decoder.

[0134] FIG. 13 is a conceptual diagram schematically explaining a method for determining a reference unit in an encoder according to another embodiment of the present invention.

[0135] Referring to FIG. 13, the encoder can select the units adjacent to the unit to be encoded as candidate units. At this time, the selected candidate units are A, D, E, and F.

[0136] On the other hand, the number of candidate units included in the candidate unit set can be limited to a predetermined number, and the predetermined number may be 1. At this time, the encoder can generate a candidate unit set by selecting only one unit with the highest probability of being selected as a reference unit from the restored adjacent units as a candidate unit. For example, the encoder can compare the sizes of the restored adjacent units with each other and select only the relatively largest unit (for example, unit A) as a candidate unit. At this time, the candidate unit set is configured like {A}, and the number of candidate units constituting the candidate unit set is 1.

[0137] When the number of candidate units constituting the candidate unit set is 1, the encoder and the decoder can determine the corresponding candidate unit as a reference unit. At this time, the encoder and the decoder can determine the reference unit without a separate reference unit identifier. Therefore, the encoder does not encode the reference unit identifier and does not transmit the reference unit identifier to the decoder.

[0138] As described above with reference to FIG. 4, when the reference unit is determined, the encoder can encode the reference unit identification information and transmit it to the decoder. The reference unit identification information can include at least one of an encoding parameter identifier and a reference unit identifier.

[0139] The encoder can use the encoding parameter identifier for the restored adjacent unit. At this time, the candidate units included in the candidate unit set can be selected using the encoding parameter identifier.

[0140] A predetermined value can be assigned to the symbolic parameter identifier. At this time, as an example, the encoder can select, from among the restored adjacent units, a unit having a symbolic parameter with the same value as the value assigned to the symbolic parameter identifier as a candidate unit. As another example, the encoder can select, from among the restored adjacent units, a unit having a symbolic parameter with a value greater than the value assigned to the symbolic parameter identifier as a candidate unit. As another example, the encoder can also select, as a candidate unit, a unit having a symbolic parameter with a value smaller than the value assigned to the symbolic parameter identifier.

[0141] The encoder can encode the symbolic parameter identifier. At this time, the encoded symbolic parameter identifier can be transmitted to the decoder.

[0142] Also, as described above, the encoder can use the symbolic parameters of the candidate units included in the candidate unit set for inter-prediction and motion compensation. At this time, the encoder can use the symbolic parameter to determine, as a reference unit, a candidate unit that exhibits the optimal encoding efficiency from the rate-distortion perspective.

[0143] When the reference unit is determined by the rate-distortion optimization method, the encoder can encode a reference unit identifier indicating which candidate unit among the candidate units included in the candidate unit set is determined as the reference unit and transmit it to the decoder. As an example, the reference unit identifier can indicate the order and / or position of the candidate unit determined as the reference unit within the candidate unit set. As another example, the reference unit identifier can indicate the encoding order difference from the unit to be encoded to the reference unit. As another example, a reference unit index can be assigned to each of the candidate units in the candidate unit set, and the reference unit index can be used as the reference unit identifier.

[0144] The decoder can receive and decode the encoded reference unit identifier. The decoder can determine the reference unit by using the decoded reference unit identifier.

[0145] When the first candidate unit in the set of candidate units is determined as the reference unit and the number of candidate units constituting the set of candidate units is one, the encoder and the decoder can determine the reference unit without a separate reference unit identifier. At this time, the encoder can also omit the encoding of the reference unit identifier.

[0146] FIG. 14 is a flowchart schematically showing an embodiment of a method for determining a reference unit in a decoder.

[0147] Referring to FIG. 14, the decoder can receive and decode the reference unit identification information from the encoder (S1410). The reference unit identification information transmitted from the encoder can include at least one of an encoding parameter identifier and a reference unit identifier.

[0148] The decoder can select candidate units included in the candidate unit set by using the encoding parameter identifier included in the reference unit identification information. A predetermined value can be assigned to the encoding parameter identifier. At this time, as an example, the decoder can select, from among the restored adjacent units, a unit having an encoding parameter with the same value as the value assigned to the encoding parameter identifier as a candidate unit. As another example, the decoder can select, from among the restored adjacent units, a unit having an encoding parameter with a value greater than the value assigned to the encoding parameter identifier as a candidate unit. As another example, the decoder can also select a unit having an encoding parameter with a value smaller than the value assigned to the encoding parameter identifier as a candidate unit. Here, the value assigned to the encoding parameter identifier is the same value as the value of the encoding parameter and / or the encoding parameter identifier used by the encoder.

[0149] The decoder can decode the reference unit identification information encoded by the encoder. As described above, the reference unit identification information can indicate which candidate unit among the candidate units included in the candidate unit set is determined as the reference unit. As an example, the reference unit identification information can indicate the order and / or position within the candidate unit set of the candidate unit determined as the reference unit. As another example, the reference unit identification information can indicate the decoding order difference from the unit to be decoded to the reference unit. As another example, a reference unit index can be assigned to each of the candidate units in the candidate unit set, and the reference unit index can be used as the reference unit identification information. The decoder can use the decoded reference unit identification information when determining the reference unit in the candidate unit set.

[0150] When the first candidate unit in the candidate unit set is determined as the reference unit and when the number of candidate units constituting the candidate unit set is one, the encoder and decoder can determine the reference unit without a separate reference unit identifier. At this time, since the encoder does not transmit the reference unit identifier, the decoder does not decode the reference unit identifier.

[0151] Also, referring to FIG. 14, the decoder can generate a candidate unit set by using the restored adjacent units (S1420).

[0152] The decoder can select candidate units from among the restored adjacent units according to a predetermined criterion and / or method. At this time, the decoder can use the encoding parameters of the unit to be decoded and / or the encoding parameters of the restored adjacent units in order to reflect the characteristics of the video. The decoder can include and / or insert the selected candidate units into the candidate unit set to generate the candidate unit set.

[0153] The decoder can generate a candidate unit set through a process similar to that of the encoder. Since the process of generating the candidate unit set in the encoder has been described above, a detailed description of the process of generating the candidate unit set in the decoder will be omitted.

[0154] When the candidate unit set is generated, the decoder can determine a reference unit to be used for prediction and / or motion compensation of the currently decoded unit from among the candidate units included in the generated candidate unit set (S1430).

[0155] The decoder can use the decoded reference unit identification information in the reference unit determination process. When the reference unit is determined, the decoder can perform an inter prediction on the unit to be encoded by using the determined reference unit. Specific embodiments of the reference unit determination method will be described later.

[0156] FIG. 15 is a conceptual diagram schematically explaining a method for determining a reference unit in a decoder according to an embodiment of the present invention.

[0157] The decoder can use the decoded reference unit identifier to determine a reference unit to be used for inter prediction and motion compensation of a unit to be decoded from among candidate units included in a set of candidate units. As an example, the reference unit identifier can indicate an order and / or a position within a set of candidate units of a candidate unit determined as a reference unit. As another example, the reference unit identifier can indicate a decoding order difference from a unit to be decoded to a reference unit. As another example, a reference unit index can be assigned to each of the candidate units in the set of candidate units, and the reference unit index can be used as a reference unit identifier.

[0158] Referring to FIG. 15, the set of candidate units can be configured as {A, B, C, D, E, F}, for example, as an embodiment. At this time, a reference unit index can be assigned to each of the candidate units. For example, an index of 0 can be assigned to A, an index of 1 to B, an index of 2 to C, an index of 3 to D, an index of 4 to E, and an index of 5 to F. When the value of the decoded reference unit index is 2, the decoder can use the value of the reference unit index to determine unit C as the reference unit.

[0159] FIG. 16 is a conceptual diagram schematically explaining a method for determining a reference unit in a decoder according to another embodiment of the present invention. In FIG. 16, it is assumed that the order in which the restored adjacent units are decoded is H→D→K→L→E→F→N→O→G→P→I→A→J→B→C→M.

[0160] In the candidate unit set generation process, the decoder can sort the candidate units included in the candidate unit set in descending order of the probability of being determined as the reference unit. At this time, the decoder can determine the first candidate unit among the candidate units included in the candidate unit set as the reference unit.

[0161] Referring to FIG. 16, the decoder can select the units adjacent to the unit to be decoded as candidate units. At this time, the selected candidate units are A, B, C, D, E, and F. The decoder can sort the selected candidate units according to the decoding order. For example, the decoder can preferentially include the units decoded later in the candidate unit set in terms of the decoding order. At this time, the candidate unit set can be configured as {C, B, A, F, E, D}. The decoder can determine the first candidate unit C in the candidate unit set as the reference unit. In this case, the candidate unit with the smallest difference in decoding order from the unit to be decoded can be determined as the reference unit.

[0162] When the first candidate unit in the candidate unit set is determined as the reference unit, the encoder and the decoder can determine the reference unit without a separate reference unit identifier. At this time, since the encoder does not transmit the reference unit identifier to the decoder, the decoder does not decode the reference unit identifier.

[0163] FIG. 17 is a conceptual diagram schematically explaining a method for determining a reference unit in a decoder according to another embodiment of the present invention.

[0164] Referring to FIG. 17, the decoder can select the units adjacent to the unit to be decoded as candidate units. At this time, the selected candidate units are A, D, E, and F.

[0165] On the one hand, the number of candidate units included in the candidate unit set can be limited to a predetermined number, and the predetermined number is 1. At this time, the decoder can generate a candidate unit set by selecting only one unit with the highest probability of being selected as a reference unit from the restored adjacent units. For example, the decoder can compare the sizes of the restored adjacent units with each other and select only the relatively largest unit (for example, unit A) as the candidate unit. At this time, the candidate unit set is configured like {A}, and the number of candidate units constituting the candidate unit set is 1.

[0166] When the number of candidate units constituting the candidate unit set is 1, the encoder and the decoder can determine the corresponding candidate unit as the reference unit. At this time, the encoder and the decoder can determine the reference unit without a separate reference unit identifier. Therefore, since the encoder does not transmit the reference unit identifier to the decoder, the decoder does not decode the reference unit identifier.

[0167] In the foregoing embodiments, the method is described based on a sequence diagram in a series of steps or blocks, but the present invention is not limited to the order of the steps, and a certain step can occur in a different order or simultaneously with steps different from the foregoing. Also, those with ordinary knowledge in the relevant technical field can understand that the steps shown in the sequence diagram are not exclusive, other steps are included, or one or more steps of the sequence diagram can be deleted without affecting the scope of the present invention.

[0168] The foregoing embodiments include examples of various aspects. Although it is not possible to describe all possible combinations for showing various aspects, those with ordinary knowledge in the relevant technical field can recognize that other combinations are possible. Therefore, the present invention includes all alternatives, modifications, and changes belonging to the scope of the claims.

Claims

1. determining at least one spatial candidate unit for the unit to be decoded from among the reconstructed neighboring units of the unit to be decoded; Selecting a picture from a reference picture list of the unit to be decoded in which a temporal candidate unit of the unit to be decoded is located; determining the temporal candidate units for the unit to be decoded of the selected picture; generating a set of candidate units for inter prediction based on the spatial candidate units and the temporal candidate units; Performing inter prediction on the current unit to be decoded; The spatial candidate unit among the reconstructed neighboring units has a reference picture list different from a reference picture list of the current unit to be decoded and uses the same reference pictures as the current unit to be decoded; The video decoding method, wherein the spatial candidate unit is determined based on reconstructed neighboring units that are coded by inter prediction among the reconstructed neighboring units.

2. determining at least one spatial candidate unit for the current unit to be coded from among the reconstructed neighboring units of the current unit; determining a temporal candidate unit for the unit to be coded; generating a set of candidate units for inter prediction of the current unit based on the spatial candidate units and the temporal candidate units; performing inter prediction on the current unit to be coded based on the generated set of candidate units; the temporal candidate unit is in one of a plurality of reference pictures belonging to a reference picture list of the current unit to be coded, and the spatial candidate unit among the reconstructed neighboring units has a reference picture list different from the reference picture list of the current unit to be coded and uses the same reference picture as the current unit to be coded; A video coding method, wherein the spatial candidate units are determined based on reconstructed neighboring units that are coded by inter prediction among the reconstructed neighboring units.

3. 1. A method for transmitting a bitstream generated by a method for encoding a video signal by an apparatus, comprising: The encoding method comprises: determining at least one spatial candidate unit for the current unit to be coded from among the reconstructed neighboring units of the current unit; determining a temporal candidate unit for the unit to be coded; generating a set of candidate units for inter prediction of the current unit based on the spatial candidate units and the temporal candidate units; performing inter prediction on the current unit to be coded based on the generated set of candidate units; the temporal candidate unit is in one of a plurality of reference pictures belonging to a reference picture list of the current unit to be coded, and the spatial candidate unit among the reconstructed neighboring units has a reference picture list different from the reference picture list of the current unit to be coded and uses the same reference picture as the current unit to be coded; A method, wherein the spatial candidate units are determined based on reconstructed neighboring units among the reconstructed neighboring units that are coded using inter prediction.

Citation Information

Patent Citations

  • Motion vector coding method and motion vector decoding method

    JP2004096705A

  • Moving image encoding device, method and program, and moving image decoding device, method and program

    JP2008283490A

  • Combined motion vector and reference index prediction for video coding

    US20090304084A1

  • MOTION VECTOR PREDICTORS (MVPs) FOR BI-PREDICTIVE INTER MODE IN VIDEO CODING

    WO2012121808A1