Method and apparatus for determination of reference unit
Patent Information
- Application Number
- KR1020260171558
- Authority / Receiving Office
- KR · KR
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2010-12-13
- Filing Date
- 2026-09-09
- Publication Date
- 2026-09-18
Smart Images

Figure PAT00014_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to image processing, and more specifically, to an inter prediction method and apparatus. Background Technology
[0002] Recently, as broadcasting services with HD (High Definition) resolution have expanded not only domestically but also globally, many users are becoming accustomed to high-resolution, high-quality video, and accordingly, many organizations are accelerating the development of next-generation video devices. In addition, as interest in UHD (Ultra High Definition), which has more than four times the resolution of HDTV, grows alongside HDTV, there is a demand for compression technology for higher resolution and higher-quality video.
[0003] For image compression, inter prediction techniques that predict pixel values included in the current picture from pictures that are temporally earlier and / or later, intra prediction techniques that predict pixel values included in the current picture using pixel information within the current picture, and entropy coding techniques that assign short codes to symbols with high frequency and long codes to symbols with low frequency may be used. The problem to be solved
[0004] The technical problem of the present invention is to provide an image encoding method and apparatus capable of increasing image encoding / decoding efficiency.
[0005] Another technical objective of the present invention is to provide an image decoding method and apparatus capable of increasing image encoding / decoding efficiency.
[0006] Another technical objective of the present invention is to provide an inter-prediction method and apparatus capable of increasing image encoding / decoding efficiency.
[0007] Another technical objective of the present invention is to provide a reference unit determination method and apparatus capable of increasing image encoding / decoding efficiency. means of solving the problem
[0008] One embodiment of the present invention is an inter-prediction method. The method comprises the steps of: selecting a candidate unit among restored surrounding units; generating a candidate unit set for a decoding target unit using the selected candidate unit; determining a reference unit among the candidate units constituting the generated candidate unit set; and performing inter-prediction for the decoding target unit using the determined reference unit. The restored surrounding units include an upper surrounding unit adjacent to the top of the decoding target unit, a left surrounding unit adjacent to the left of the decoding target unit, a right upper corner unit located at the right upper corner of the decoding target unit, a left upper corner unit located at the left upper corner of the decoding target unit, and a left lower corner unit located at the left lower corner of the decoding target unit.
[0009] In the above candidate unit selection step, the above top surrounding unit, the above left surrounding unit, the above right top corner unit, the above left top corner unit, and the above left bottom corner unit can be selected as the candidate units.
[0010] In the above candidate unit selection step, the above top surrounding unit and the above left surrounding unit can be selected as the candidate units.
[0011] In the above candidate unit selection step, among the restored surrounding units, a unit whose boundary length adjacent to the decoding target unit is greater than or equal to a predetermined threshold can be selected as the candidate unit.
[0012] In the above candidate unit selection step, among the restored surrounding units, a unit having a size greater than or equal to a predetermined threshold can be selected as the candidate unit.
[0013] In the above candidate unit selection step, among the restored surrounding units, a unit having a depth value below a predetermined threshold can be selected as the candidate unit.
[0014] In the above candidate unit selection step, the candidate unit may be selected based on the relative length between the boundaries where the restored surrounding unit is adjacent to the decoding target unit, the relative size between the restored surrounding units, or the relative depth value between the restored surrounding units.
[0015] In the above candidate unit selection step, the candidate unit can be selected using at least one of the encoding parameters of the decoding target unit and the encoding parameters of the restored surrounding unit, and the encoding parameters of the decoding target unit and the encoding parameters of the restored surrounding unit may 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 above-mentioned decoding target unit includes a first reference picture list and a first reference picture index, and the candidate unit selection step further includes the step of selecting a unit having a second encoding parameter as the candidate unit, wherein the second encoding parameter may include 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 above candidate unit selection step, a unit having the same reference picture as the reference picture of the above decoding target unit can be selected as the candidate unit.
[0018] In the above candidate unit selection step, only units encoded by inter-prediction can be selected as the candidate units.
[0019] In the step of generating the candidate unit set, the candidate unit set may be generated by using the selected candidate unit and the collocated unit together, and the collocated unit may be a unit located in the same spatial position as the decoding target unit among the units in the reference picture for the decoding target unit.
[0020] In the above candidate unit selection step, a predetermined fixed number of units can be selected as the candidate units.
[0021] The above-mentioned fixed number of units may be selected based on the identity between the encoding parameter of the unit to be decoded and the encoding parameter of the restored surrounding unit, and the encoding parameter of the unit to be decoded and the encoding parameter of the restored surrounding unit may 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 above predetermined fixed number of units may be selected based on the identity between the reference picture of the unit to be decoded and the reference picture of the restored surrounding unit.
[0023] The above candidate unit selection step may include receiving a encoding parameter identifier, decoding the received encoding parameter identifier, and selecting the candidate unit based on an encoding parameter value assigned to the decoded encoding parameter identifier, wherein the encoding parameter value assigned to the encoding parameter identifier may be at least one of the length of the boundary where the restored surrounding unit is adjacent to the encoding target unit, the size of the restored surrounding unit, and the depth value of the restored surrounding unit.
[0024] The above reference unit determination step may include the step of receiving a reference unit identifier, the step of decoding the received reference unit identifier, and the step of determining the reference unit using the decoded reference unit identifier, and the reference unit identifier may be an identifier indicating a unit determined as a reference unit among the candidate units constituting the set of candidate units.
[0025] The codeword length assigned to the above reference unit identifier may be shorter as the probability that the unit indicated by the above reference unit identifier is determined to be the above reference unit increases.
[0026] The step of generating the set of candidate units may further include a step of sorting the candidate units in order of highest probability of being determined as the reference unit, and in the step of determining the reference unit, the first unit among the sorted candidate units may be determined as the reference unit.
[0027] In the step of generating the candidate unit set, only one unit among the candidate units that has the highest probability of being determined as the reference unit may be included in the candidate unit set, and in the step of determining the reference unit, the one unit included in the candidate unit set may be determined as the reference unit. Effects of the invention
[0028] According to the image encoding method of the present invention, image encoding / decoding efficiency can be improved.
[0029] According to the image decoding method of the present invention, image encoding / decoding efficiency can be improved.
[0030] According to the inter prediction method of the present invention, image encoding / decoding efficiency can be improved.
[0031] According to the reference unit determination method of the present invention, image encoding / decoding efficiency can be improved. Brief explanation of the drawing
[0032] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the present invention is applied. FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied. FIG. 3 is a conceptual diagram schematically illustrating an embodiment in which a single unit is divided into a plurality of sub-units. FIG. 4 is a flowchart schematically illustrating one embodiment of a method for determining a reference unit in an encoder. FIG. 5 is a conceptual diagram schematically illustrating one embodiment of a method for generating a set of candidate units. FIG. 6 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. FIG. 7 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. FIG. 8 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. FIG. 9 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. FIG. 10 is a conceptual diagram schematically illustrating one embodiment of a method for determining the order in which candidate units are included in a set of candidate units. FIG. 11 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to an embodiment of the present invention. FIG. 12 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to another embodiment of the present invention. FIG. 13 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to another embodiment of the present invention. FIG. 14 is a flowchart schematically illustrating one embodiment of a method for determining a reference unit in a decoder. FIG. 15 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to an embodiment of the present invention. FIG. 16 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to another embodiment of the present invention. FIG. 17 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to another embodiment of the present invention. Specific details for implementing the invention
[0033] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of this specification, detailed descriptions of related known configurations or functions are omitted if it is determined that such detailed descriptions may obscure the gist of this specification.
[0034] When it is stated that one component is “connected” or “connected” to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components present in between. Furthermore, the description in the present invention that a specific configuration “includes” does not exclude configurations other than that specific configuration, but rather implies that additional configurations may be included within the scope of the practice or technical concept of the present invention.
[0035] Terms such as "first," "second," etc., may be used to describe various components, but said components should not be limited by said terms. These terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component.
[0036] Furthermore, the components shown in the embodiments of the present invention are depicted independently to represent different characteristic functions and do not imply that each component consists of separate hardware or a single software unit. That is, each component is listed and included as a separate component for convenience of explanation; however, at least two of the components may be combined to form a single component, or a single component may be divided into multiple components to perform a function, and such integrated and separated embodiments of each component are included within the scope of the present invention as long as they do not deviate from the essence of the invention.
[0037] Furthermore, some components may not be essential components performing an essential function in the present invention, but merely optional components for enhancing performance. The present invention may be implemented by including only the components essential for realizing the essence of the present invention, excluding components used solely for performance enhancement, and a structure including only the essential components, excluding optional components used solely for performance enhancement, is also included within the scope of the rights of the present invention.
[0038] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the present invention is applied.
[0039] Referring to FIG. 1, the image 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 converter (130), a quantization unit (140), an entropy encoding unit (150), an inverse quantization unit (160), an inverse converter (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 an intra mode or an inter mode and output a bitstream. Intra prediction refers to prediction within a frame, and inter prediction refers to prediction between frames. In the case of intra mode, the switch (115) can be switched to intra, and in the case of inter mode, the switch (115) can be switched to inter. The video encoding device (100) can generate a prediction block for an input block of the input video, and then encode the residual of the input block and the prediction block.
[0041] In the case of intra mode, the intra prediction unit (120) can generate a prediction block by performing spatial prediction using the pixel values of already encoded blocks around the current block.
[0042] In the case of inter mode, the motion prediction unit (111) can find the region that best matches the input block in the reference image stored in the reference picture buffer (190) during 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 represent the offset between the current encoding / decoding target image and the reference image.
[0043] The subtractor (125) can generate a residual block by the difference between the input block and the generated prediction block. The transform unit (130) can perform a transform on the residual block to output a transform coefficient. The quantization unit (140) can quantize the input transform coefficient according to a quantization parameter to output a quantized coefficient.
[0044] The entropy encoding unit (150) can output a bit stream by performing entropy encoding based on values calculated in the quantization unit (140) or encoding parameter values calculated during the encoding process.
[0045] When entropy coding is applied, a small number of bits are allocated to symbols with a high probability of occurrence and a large number of bits are allocated to symbols with a low probability of occurrence, thereby reducing the size of the bit sequence for the symbols to be encoded. Therefore, the compression performance of video encoding can be improved through entropy coding. The entropy encoding unit (150) may use encoding methods such as exponential golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy coding.
[0046] Since the image encoding device according to the embodiment of FIG. 1 performs inter-predictive encoding, that is, inter-frame predictive encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inversely quantized in the inverse quantization unit (160) and inversely transformed in the inverse transformation unit (170). The inversely quantized and inversely transformed coefficients are added to the prediction block through the adder (175) and a restoration block is generated.
[0047] The restored block passes through a filter unit (180), and the filter unit (180) can apply at least one of a deblocking filter, a Sample Adaptive Offset (SAO), and an Adaptive Loop Filter (ALF) to the restored 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 that occurs at the boundaries between blocks. The SAO can add an appropriate offset value to the pixel value to compensate for coding errors. The ALF can perform filtering based on a value obtained by comparing the restored image with the original image. The restored block that has passed through the filter unit (180) can be stored in a reference picture buffer (190).
[0048] FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied.
[0049] Referring to FIG. 2, the image decoding device (200) includes an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation 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 image decoding device (200) receives a bitstream output from an encoder, performs decoding in intra mode or inter mode, and outputs a reconstructed image, i.e., a restored image. In the case of intra mode, the switch may be switched to intra, and in the case of inter mode, the switch may be switched to inter. The image decoding device (200) may 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, i.e., a restored block.
[0051] The entropy decoding unit (210) can generate symbols including symbols in the form of quantized coefficients by entropy decoding the input bitstream according to a probability distribution. The entropy decoding method is similar to the entropy encoding method described above.
[0052] When the entropy decoding method is applied, symbols are represented by allocating a small number of bits to symbols with a high probability of occurrence and a large number of bits to symbols with a low probability of occurrence, thereby reducing the size of the bit sequence for each symbol. Therefore, the compression performance of image decoding can be improved through the entropy decoding method.
[0053] The quantized coefficients are inversely quantized in the inverse quantization unit (220) and inversely transformed in the inverse transformation unit (230), and as a result of the quantized coefficients being inversely quantized / inversely transformed, a residual block may be generated.
[0054] In the case of intra mode, the intra prediction unit (240) can generate a prediction block by performing spatial prediction using the pixel values of already encoded blocks around the current block. In the case of inter mode, the motion compensation unit (250) can generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer (270).
[0055] The residual block and the prediction block are added through 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 restoration block or the restoration picture. The filter unit (260) may output a reconstructed image, i.e., a restoration image. The restoration image may be stored in a reference picture buffer (270) and used for inter-prediction.
[0056] Hereinafter, "unit" refers to a unit of video encoding and decoding. In video encoding and decoding, the encoding or decoding unit refers to the divided unit when the video is divided for encoding or decoding; therefore, it may be referred to as a block, coding unit (CU), encoding block, prediction unit (PU), prediction block, transform unit (TU), or transform block. A single unit may be further divided into smaller sub-units.
[0057] Here, a prediction unit refers to a basic unit that serves as a unit for performing prediction and / or motion compensation. A prediction unit may be divided into multiple partitions, and each partition may be referred to as a prediction unit partition. When a prediction unit is divided into multiple partitions, each of the multiple partitions may be a basic unit that serves as a unit for performing prediction and / or motion compensation. In the embodiments of the present invention below, each partition into which the prediction unit is divided may also be referred to as a prediction unit.
[0059] Meanwhile, as described above, the encoder and decoder in inter-mode can perform prediction and / or motion compensation for the encoding / decoding target unit. Here, the encoding / decoding target unit may refer to a prediction unit and / or a prediction unit partition. In this case, the encoder and decoder can improve encoding / decoding efficiency by utilizing 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 may include a unit adjacent to the encoding / decoding target unit, a unit located at the top-right corner of the encoding / decoding target unit, a unit located at the top-left corner of the encoding / decoding target unit, and / or a unit located at the bottom-left corner of the encoding / decoding target unit.
[0060] For example, the encoder and decoder can use the reconstructed motion vector of a neighboring unit as the motion vector of the target unit. In this case, since the reconstructed motion vector of the neighboring unit is used in the target unit, the encoder may not encode the motion vector for the target unit. Consequently, the amount of bits transmitted to the decoder is reduced, and encoding efficiency can be improved. Such inter-prediction modes may include skip mode and / or direct mode.
[0061] In this case, the encoder may use an identifier and / or index indicating which of the restored surrounding units' motion vectors is used. The inter-prediction mode in which the identifier and / or index is used may be called a merge mode.
[0062] As another example, when an encoder encodes the motion vector of a target unit after performing prediction and / or compensation using the target unit's motion vector, it can generate a motion vector difference between the target unit's motion vector and the reconstructed motion vector of a neighboring unit. The encoder can encode the generated motion vector difference and transmit it to a decoder. At this time, the decoder decodes the motion vector difference and derives the target unit's motion vector through the sum of the decoded motion vector difference and the reconstructed motion vector of the neighboring unit. This inter-prediction method can be called Motion Vector Prediction (MVP). By using MVP, the amount of information transmitted from the encoder to the decoder can be reduced, and encoding efficiency can be improved.
[0063] In this case, the encoder may use an identifier and / or index indicating which of the restored surrounding units' motion vectors is used. An MVP in which the above identifier and / or index is additionally used may be called AMVP (Advanced Motion Vector Prediction).
[0064] In the aforementioned skip mode, direct mode, merge mode, MVP, AMVP, etc., a reference unit is determined among the restored surrounding units, and the motion vector of the determined reference unit can be used for prediction and / or motion compensation of the current encoding / decoding target unit. Hereinafter, the reference unit refers to a unit used for prediction and / or motion compensation of the encoding / decoding target unit. When the encoder and decoder perform inter-prediction and / or motion compensation for the current encoding / decoding target unit, they may utilize the encoding parameters of the reference unit.
[0066] Encoding parameters include not only information encoded by the encoder and transmitted to the 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 images. Encoding parameters may include values and / or statistics, such as, for example, inter-prediction mode, motion information, Coded Block Pattern (CBP), block size, and block partitioning information.
[0067] Here, motion information refers to parameters required for inter prediction and motion compensation. 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. Here, the reference picture list is a list composed of multiple reference images used for inter prediction, and the reference picture index is an index indicating the reference picture used for inter prediction of the encoding / decoding target unit among the reference pictures included in the reference picture list.
[0068] Two reference picture lists may be used for inter prediction, one of which may be referred to as reference picture list 0 and the other as reference picture list 1. The prediction direction included in the motion information may be information indicating which reference picture list is used during inter prediction. That is, the prediction direction may 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 may refer to the unit that is a prediction candidate and / or the motion vector of the unit that is a prediction candidate when the encoder and decoder predict the motion vector.
[0070] Block division information may include information regarding the depth of the unit. The depth information may indicate the number and / or degree to which the unit is divided.
[0071] FIG. 3 is a conceptual diagram schematically illustrating an embodiment in which a single unit is divided into a plurality of sub-units.
[0072] A unit can be hierarchically divided based on a tree structure and depth information. Each divided sub-unit may have depth information. Since the depth information indicates the number and / or degree to which the unit is divided, it may also include information regarding the size of the sub-unit.
[0073] Referring to 310 in Fig. 3, the uppermost node can be called the root node and can have the smallest depth value. At this time, the uppermost node can have a depth of level 0 and can represent the first unit that is not divided.
[0074] A sub-node with a depth of level 1 may represent a unit in which the initial unit has been divided once, and a sub-node with a depth of level 2 may represent a unit in which the initial unit has been divided twice. For example, unit a corresponding to node a in 320 of FIG. 3 is a unit in which the initial unit has been divided once and may have a depth of level 1.
[0075] A leaf node at level 3 can represent a unit that has been divided three times from the initial unit. For example, unit d corresponding to node d in 320 of FIG. 3 is a unit that has been divided three times from the initial unit and can have a depth of level 3. Therefore, the leaf node at level 3, which is the lowest node, can have the deepest depth.
[0077] As described above, when an encoder and decoder perform inter-prediction and / or motion compensation using skip mode, direct mode, merge mode, MVP, AMVP, etc., they may determine a reference unit among the restored neighboring units and utilize the motion vector of the determined reference unit. The restored neighboring units adjacent to the unit to be encoded / decoded may have different characteristics, and, for example, said characteristics may be represented by the encoding parameters of each of the restored neighboring units. Therefore, when the encoder and decoder determine a reference unit and perform encoding / decoding, it is necessary to efficiently utilize the encoding parameters of the image. Furthermore, a single picture may contain units of various sizes and units of various depths. Accordingly, to improve encoding / decoding performance, a method for determining a reference unit by considering the diversity of unit sizes and / or depths may be provided.
[0079] FIG. 4 is a flowchart schematically illustrating one embodiment of a method for determining a reference unit in an encoder.
[0080] Referring to FIG. 4, the encoder can generate a set of candidate units using the restored surrounding units (S410). Here, the candidate unit set refers to a set of reference unit candidates. The reference unit used for prediction and / or motion compensation of the current encoding target unit can be determined from among the reference unit candidates. Hereinafter, the term "candidate unit" may have the same meaning as "reference unit candidate."
[0081] The encoder may select candidate units from among the restored surrounding units according to a predetermined criterion and / or method. In this case, the encoder may use the encoding parameters of the unit to be encoded and / or the encoding parameters of the restored surrounding units to reflect the characteristics of the image. The encoder may generate a set of candidate units by including and / or inserting the selected candidate units into the set of candidate units. Specific embodiments of the method for generating a set of candidate units will be described later.
[0082] Referring again to FIG. 4, the encoder can determine a reference unit used for prediction and / or motion compensation of the current encoding target unit among the candidate units included in the generated set of candidate units (S420).
[0083] Once a reference unit is determined, the encoder can perform inter-prediction for the target unit using the determined reference unit. In this case, the encoder may use methods such as skip mode, direct mode, merge mode, MVP, and AMVP when performing inter-prediction and / or motion compensation. Specific embodiments of the reference unit determination method will be described later.
[0084] When a reference unit is determined, the encoder can encode the reference unit identification information and transmit it to the decoder (S430). The reference unit identification information may include an encoding parameter identifier, a reference unit identifier, etc., and a specific embodiment of the method for encoding the reference unit identification information will be described later.
[0086] FIG. 5 is a conceptual diagram schematically illustrating one embodiment of a method for generating a set of candidate units.
[0087] The encoder may select units adjacent to the target unit and units located at the corners of the target unit from among the restored surrounding units as candidate units and include them in the set of candidate units. The target unit for encoding on which inter-prediction and / or motion compensation is performed may be a prediction unit.
[0088] Hereinafter, the unit adjacent to the top of the unit to be encoded is referred to as the top peripheral unit, and the unit adjacent to the left of the unit to be encoded is referred to as the left peripheral unit. Additionally, the unit located at the top right corner of the unit to be encoded is referred to as the top right corner unit, the unit located at the top left corner is referred to as the top left corner unit, and the unit located at the bottom left corner is referred to as the bottom left corner unit.
[0089] Referring to 510 in FIG. 5, the encoder may select a left peripheral unit (A), an upper peripheral unit (B), a right upper corner unit (C), a left upper corner unit (D), and a left lower corner unit (E) as candidate units included in the set of candidate units. In this case, as in one embodiment, the generated set of candidate units may be configured as {A, B, C, D, E}.
[0090] Referring to 520 in FIG. 5, the encoder may select the left peripheral unit (A, B, C), the top peripheral unit (D, E, F), the right upper corner unit (G), the left upper corner unit (H), and the left lower corner unit (M) as candidate units included in the candidate unit set. In this case, as an example, the generated candidate unit set may be configured as {H, D, E, F, G, A, B, C, M}.
[0091] In the above-described embodiment, the encoder may select only specific units among the left peripheral units as candidate units. For example, the encoder may select only the unit located at the bottom among the left peripheral units as candidate units. Additionally, the encoder may select only specific units among the top peripheral units as candidate units. For example, the encoder may select only the unit located at the rightmost among the top peripheral units as candidate units. In this case, the set of candidate units generated in 520 of FIG. 5 may be {H, F, G, C, M}.
[0093] FIG. 6 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units.
[0094] The encoder may select units adjacent to the left of the unit to be encoded and units adjacent to the top of the unit to be encoded from among the restored surrounding units as candidate units and include them in the set of candidate units.
[0095] Referring to 610 in FIG. 6, the encoder can select the left peripheral unit (A) and the top peripheral unit (B) as candidate units included in the set of candidate units. In this case, as in one embodiment, the generated set of candidate units can be configured as {A, B}.
[0096] Referring to 620 in FIG. 6, the encoder can select the left peripheral unit (A, B, C) and the top peripheral unit (D, E, F) as candidate units included in the set of candidate units. In this case, as in one embodiment, the generated set of candidate units may be composed of {D, E, F, A, B, C}.
[0098] FIG. 7 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. In the embodiment of FIG. 7, it is assumed that the size of the unit to be encoded (X) is 16x16, the size of the C, D, H, and M units is 8x8, and the size of the remaining units is 4x4.
[0099] As described above in FIG. 6, the encoder may select units adjacent to the left of the unit to be encoded and units adjacent to the top of the unit to be encoded as candidate units among the restored surrounding units. At this time, the encoder may select only those units among the left surrounding units and the top surrounding units whose boundary length adjacent to the unit to be encoded is greater than or equal to a predetermined length as candidate units and include them in the set of candidate units. Here, the predetermined length may be a positive integer. Hereinafter, the boundary where the unit to be encoded and the restored surrounding unit are adjacent is referred to as the adjacent boundary.
[0100] Referring to FIG. 7, the encoder can select only units whose boundary length adjacent to the target unit is 8 or greater as candidate units. Units C and D have a size of 8x8, and since the boundary length adjacent to the target unit and units C and D is 8, they can be selected as candidate units included in the set of candidate units. On the other hand, units A, B, E, and F have a size of 4x4, and since the boundary length adjacent to the target unit and units A, B, E, and F is 4, they may not be selected as candidate units included in the set of candidate units. In this case, as an example, the generated set of candidate units may be {C, D}.
[0102] As another example, the encoder may select candidate units included in the set of candidate units based on the relative lengths of the adjacent boundaries of the left-side surrounding units and the adjacent boundaries of the top-side surrounding units. That is, the encoder can select candidate units by comparing the lengths of the adjacent boundaries of units adjacent to the unit to be encoded.
[0103] For example, if among the restored neighboring units there are units with an adjacent boundary length of 4 and units with an adjacent boundary length of 8, the encoder may include only the latter units with a relatively longer adjacent boundary length in the set of candidate units. As another example, if among the restored neighboring units there are units with an adjacent boundary length of 16 and units with an adjacent boundary length of 4, the encoder may include only the latter units with a relatively shorter adjacent boundary length in the set of candidate units.
[0105] FIG. 8 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. In the embodiment of FIG. 8, it is assumed that the size of the unit to be encoded (X) is 16x16, the size of the C, D, H, and M units is 8x8, and the size of the remaining units is 4x4.
[0106] As described above in FIG. 5, the encoder may select units adjacent to the target unit and units located at the corners of the target unit as candidate units among the restored surrounding units. At this time, the encoder may select only units of a predetermined size or larger from among the units adjacent to the target unit and units located at the corners of the target unit as candidate units and include them in the set of candidate units. Here, the predetermined size may be m*n (m is a positive integer, n is a positive integer).
[0107] Referring to FIG. 8, the encoder can select only units having a size of 8x8 or larger as candidate units. Since units C, D, H, and M have a size of 8x8, they can be selected as candidate units included in the set of candidate units. On the other hand, since units A, B, E, F, and G have a size of 4x4, they may not be selected as candidate units included in the set of candidate units. In this case, as an example, the generated set of candidate units can be configured as {C, D, H, M}.
[0109] As another example, the encoder may select candidate units to be included in the set of candidate units based on the relative sizes of the restored neighbor units. That is, the encoder may select candidate units by comparing the sizes of the restored neighbor units. For example, if there are restored neighbor units of size 8x8 and restored neighbor units of size 16x16, the encoder may include only the latter units, which are relatively larger, in the set of candidate units.
[0111] FIG. 9 is a conceptual diagram schematically illustrating another embodiment of a method for generating a set of candidate units. In the embodiment of FIG. 9, it is assumed that the depth value of the unit to be encoded (X) is 0, the depth value of the C, D, H, and M units is 1, and the depth value of the remaining units is 2.
[0112] As described above in FIG. 5, the encoder may select units adjacent to the target unit and units located at the corners of the target unit as candidate units among the restored surrounding units. At this time, the encoder may select only units below a predetermined depth from among the units adjacent to the target unit and units located at the corners of the target unit as candidate units and include them in the set of candidate units. Here, the predetermined depth may be n (n is a positive integer).
[0113] Referring to FIG. 9, the encoder can select only units having a depth of 1 or less as candidate units. Units C, D, H, and M have a depth of 1, so they can be selected as candidate units included in the set of candidate units. On the other hand, units A, B, E, F, and G have a depth of 2, so they may not be selected as candidate units included in the set of candidate units. In this case, as an example, the generated set of candidate units can be configured as {H, D, C, M}.
[0115] As another example, the encoder may select candidate units to be included in the set of candidate units based on the relative depths of the restored neighboring units. That is, the encoder may select candidate units by comparing the depths of the restored neighboring units with each other. For example, if there are restored neighboring units with a depth of 0 and restored neighboring units with a depth of 2, the encoder may include only the former units, which have relatively smaller depth values, in the set of candidate units.
[0117] In another embodiment, the encoder may select candidate units included in a set of candidate units by using the encoding parameters of the target unit and / or the encoding parameters of the restored neighbor unit. In this case, the encoder may select candidate units by using the correlation of encoding parameters between the target unit and the restored neighbor unit, or may select candidate units by using only the encoding parameters of the restored neighbor unit.
[0118] For example, the encoder may determine whether the motion information of the restored surrounding units and the motion information of the unit to be encoded are identical, and then select only those units among the restored surrounding units that have motion information identical to that of the unit to be encoded as candidate units and include them in the set of candidate units. For example, the motion information may be at least one of a motion vector, a reference picture list, a reference picture index, a predicted direction, and a motion vector predictor.
[0119] As another example, the encoder may determine whether the motion information of the restored surrounding units and the motion information of the unit to be encoded are similar, and then select only those units among the restored surrounding units that have motion information similar to that of the unit to be encoded as candidate units and include them in the set of candidate units. For example, the motion information may be at least one of a motion vector, a reference picture list, a reference picture index, a predicted direction, and a motion vector predictor. If the motion information of the restored surrounding units and the motion information of the unit to be encoded are not exactly identical but satisfy a predetermined criterion, they may be determined to be similar.
[0120] Examples of cases where the motion information of a restored surrounding unit and the motion information of a unit to be encoded are similar are as follows. For example, if the difference in magnitude between the components of the motion vector of the restored surrounding unit and the motion vector of the unit to be encoded is less than a predetermined size in integer pixel units, the motion information of the restored surrounding unit and the motion information of the unit to be encoded may be determined to be similar. Here, the predetermined size may be any natural number and / or a positive real number, and for example, may be 1. As another example, if the restored surrounding unit and the unit to be encoded have different reference picture lists but use the same reference picture, the motion information of the restored surrounding unit and the motion information of the unit to be encoded may be determined to be similar. As yet another example, if the restored surrounding unit and the unit to be encoded have different reference picture indices but use the same reference picture, the motion information of the restored surrounding unit and the motion information of the unit to be encoded may be determined to be similar.
[0121] Additionally, for example, the encoder may not select units encoded by intra prediction among the reconstructed neighboring units as candidate units. In this case, the encoder may not include units encoded by intra prediction in the set of candidate units. For instance, the encoder may select only units encoded by inter prediction among the reconstructed neighboring units as candidate units and include them in the set of candidate units.
[0122] The encoder may determine whether there is a residual signal for the restored neighboring units, and then select units among the restored neighboring units that do not have a residual signal as candidate units and include them in the set of candidate units. Here, the presence or absence of the residual signal can be determined through the values of the Coded Block Pattern (CBP) and / or the Coded Block Flag (CBF), which are syntax elements for the presence or absence of the residual signal.
[0124] In the embodiments of the method for generating a set of candidate units described above, the number of candidate units included in the set of candidate units may be limited to a predetermined number (e.g., N). Here, N may represent a positive integer greater than 0.
[0125] When the number of candidate units included in the set of candidate units is limited to N, the encoder may select only N units from among the restored surrounding units as candidate units using a predetermined criterion. Here, the predetermined criterion may include the degree of proximity to the unit to be encoded, the degree of proximity 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 surrounding unit, the relative and / or absolute depth value of the restored surrounding unit, the encoding / decoding order of the restored surrounding unit, and / or the identity / similarity between the encoding parameters of the unit to be encoded and the encoding parameters of the restored surrounding unit. Embodiments for cases where the encoding parameters of the restored surrounding unit and the encoding parameters of the unit to be encoded are similar have been described above. For example, if the encoding parameters of the restored surrounding unit and the unit to be encoded use the same reference picture, it may be determined that the encoding parameters of the restored surrounding unit and the encoding parameters of the unit to be encoded are similar.
[0126] For example, the number of candidate units included in the set of candidate units may be two. In this case, for example, the encoder may select two units as candidate units from among the restored surrounding units in order of the length of the boundary adjacent to the unit to be encoded, and include them in the set of candidate units.
[0127] As another example, the number of candidate units included in the candidate unit set may be three. Also, for example, the restored neighboring units may have the same motion information. In this case, the encoder may select three units that were restored later in the encoding / decoding order from among the restored neighboring units that have the same motion information as candidate units and include them in the candidate unit set.
[0129] Meanwhile, in the embodiments of the above-described method for generating a set of candidate units, the candidate units included in the set of candidate units may be arranged in order of the probability of being determined as a reference unit for the unit to be encoded. That is, the encoder may preferentially include and / or insert units with a high probability of being determined as a reference unit for the unit to be encoded into the set of candidate units. In this case, the encoder may increase encoding efficiency by assigning a reference unit identifier having a shorter codeword to candidate units that have a higher probability of being determined as a reference unit.
[0131] FIG. 10 is a conceptual diagram schematically illustrating an embodiment of a method for determining the order in which candidate units are included in a set of candidate units. In FIG. 10, it is assumed that the encoding / decoding order of the restored peripheral units is H->D->K->L->E->F->N->O->G->P->I->A->J->B->C->M.
[0132] For example, the encoder may select units adjacent to the left and top of the target unit from among the restored surrounding units as candidate units and include them in the set of candidate units. In this case, the encoder may include the selected candidate units in the set of candidate units according to the encoding / decoding order.
[0133] Referring to FIG. 10, the encoder may preferentially include candidate units with faster encoding / decoding order in the set of candidate units. Since units adjacent to the current encoding target unit (X) can be encoded / decoded in the order D->E->F->A->B->C, the generated set of candidate units can be configured as {D, E, F, A, B, C}.
[0135] In another embodiment, the encoder may arrange the candidate units included in the set of candidate units in order of the length of the boundary adjacent to the unit to be encoded. That is, the encoder may preferentially include and / or insert candidate units with a long boundary adjacent to the unit to be encoded into the set of candidate units.
[0136] In another embodiment, the encoder can sort the candidate units included in the set of candidate units in order of decreasing depth value. That is, the encoder can preferentially include and / or insert candidate units with smaller depth values into the set of candidate units.
[0138] In the embodiments of the above-described method for generating a set of candidate units, the encoder may select a candidate unit included in the set of candidate units from among the restored surrounding blocks. At this time, the candidate unit selected among the restored surrounding blocks may be called a spatial candidate unit.
[0139] In addition to spatial candidate units, the encoder may select units within the reference picture that are located in the same spatial position as the unit to be encoded as candidate units and include them in the set of candidate units. For convenience of explanation, units within the reference picture that are located in the same spatial position as the unit to be encoded are referred to as collocated units and / or collocated blocks. In this case, the candidate units selected from among the units within the reference picture may be referred to as temporal candidate units.
[0141] In the process of generating the candidate unit set described above, the encoder may use encoding parameter identifiers for the restored neighboring units. At this time, the candidate units included in the candidate unit set may be selected using the encoding parameter identifiers. Here, the encoding parameters for which the encoding parameter identifiers are used may include, for example, the length of the boundary where the unit to be encoded and the restored neighboring unit are adjacent, the size of the restored neighboring unit, the depth value of the restored neighboring unit, etc.
[0142] A predetermined value may be assigned to the encoding parameter identifier. In this case, for example, the encoder may select a unit among the recovered neighboring units that has an encoding parameter with a value identical to the value assigned to the encoding parameter identifier as a candidate unit. As another example, the encoder may select a unit among the recovered neighboring units that has an encoding parameter with a value greater than the value assigned to the encoding parameter identifier as a candidate unit. As yet another example, the encoder may select a unit that has an encoding parameter with a value smaller than the value assigned to the encoding parameter identifier as a candidate unit.
[0143] For example, assume that a encoding parameter identifier is used for the length of the boundary where the target unit and the restored neighbor unit are adjacent. Here, the encoding parameter identifier can be represented by log2_unit_boundary_length. As described above, the encoder may select only those units among the restored neighbor units whose boundary length adjacent to the target unit is greater than a predetermined length as candidate units and include them in the set of candidate units. Here, assuming the predetermined length is 8, the value 3 may be assigned to the encoding parameter identifier log2_unit_boundary_length. In this case, the encoder may select only those units having an adjacent boundary length greater than the value assigned to the encoding parameter identifier as candidate units and include them in the set of candidate units. Additionally, the encoder may encode the encoding parameter identifier assigned the value 3 and transmit it to the decoder.
[0145] When a set of candidate units is generated, the encoder can determine a reference unit used for prediction and / or motion compensation of the current encoding target unit from among the candidate units included in the generated set of candidate units.
[0147] FIG. 11 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to an embodiment of the present invention.
[0148] The encoder may determine a candidate unit that exhibits optimal encoding efficiency in terms of rate-distortion from among the candidate units included in the set of candidate units as a reference unit. Additionally, as described above, the encoder may use the encoding parameters (e.g., motion information, etc.) of the candidate units included in the set of candidate units for inter-prediction and motion compensation. At this time, the encoder may determine a candidate unit that exhibits optimal encoding efficiency in terms of rate-distortion using the above encoding parameters as a reference unit. Here, the method of selecting the optimal encoding method in terms of distortion and rate may be called Rate Distortion Optimization (RDO).
[0149] When a reference unit is determined by the rate-distortion optimization method, the encoder may encode a reference unit identifier that indicates 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. For example, the reference unit identifier may 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 identifier may indicate the difference in encoding order from the unit to be encoded to the reference unit. As yet another example, a reference unit index may be assigned to each of the candidate units within the candidate unit set, and the reference unit index may be used as the reference unit identifier.
[0150] Referring to FIG. 11, the set of candidate units may be configured as {A, B, C, D, E, F} in one embodiment. In this case, a reference unit index may be assigned to each candidate unit, for example, an index of 0 may be assigned to A, 1 to B, 2 to C, 3 to D, 4 to E, and 5 to F.
[0151] The encoder can encode a reference unit index and transmit it to the decoder, and the decoder can receive the encoded reference unit index and decode it. When the encoder determines B as the reference unit, the value of the reference unit index transmitted to the decoder may be 1. At this time, the decoder can determine unit B as the reference unit by using the value of the reference unit index.
[0153] FIG. 12 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to another embodiment of the present invention. It is assumed that the order in which the restored peripheral units in FIG. 12 are encoded / decoded is H->D->K->L->E->F->N->O->G->P->I->A->J->B->C->M.
[0154] As described above, during the process of generating a candidate unit set, the encoder can sort the candidate units included in the candidate unit set in order of highest 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.
[0155] Referring to FIG. 12, the encoder may select units adjacent to the target unit as candidate units. In this case, the selected candidate units may be A, B, C, D, E, and F. The encoder may sort the selected candidate units according to the encoding / decoding order. For example, the encoder may preferentially include a unit encoded later in the encoding order in the set of candidate units. In this case, the set of candidate units may be configured as {C, B, A, F, E, D}. The encoder may determine the first candidate unit C within the set of candidate units as the reference unit. In this case, the candidate unit with the smallest difference in encoding order from the target unit may be determined as the reference unit.
[0156] If the first candidate unit within the set of candidate units is determined to be the reference unit, the encoder and decoder can determine the reference unit without a separate reference unit identifier. Therefore, the encoder may not encode the reference unit identifier and may not transmit the reference unit identifier to the decoder.
[0158] FIG. 13 is a conceptual diagram schematically illustrating a method for determining a reference unit in an encoder according to another embodiment of the present invention.
[0159] Referring to FIG. 13, the encoder can select units adjacent to the unit to be encoded as candidate units. At this time, the selected candidate units may be A, D, E, and F.
[0160] Meanwhile, the number of candidate units included in the candidate unit set may be limited to a predetermined number, and the predetermined number may be 1. In this case, the encoder may generate a candidate unit set by selecting only one unit as a candidate unit among the restored neighboring units that has the highest probability of being selected as a reference unit. For example, the encoder may compare the sizes of the restored neighboring units with each other and select only the relatively largest unit (e.g., unit A) as a candidate unit. In this case, the candidate unit set is configured as {A}, and the number of candidate units constituting the candidate unit set may be 1.
[0161] When the number of candidate units constituting the set of candidate units is one, the encoder and decoder can determine that candidate unit as the reference unit. In this case, the encoder and decoder can determine the reference unit without a separate reference unit identifier. Therefore, the encoder may not encode the reference unit identifier and may not transmit the reference unit identifier to the decoder.
[0163] As described above in FIG. 4, once a reference unit is determined, the encoder can encode reference unit identification information and transmit it to the decoder. The reference unit identification information may include at least one of an encoding parameter identifier and a reference unit identifier.
[0165] The encoder may use encoding parameter identifiers for the restored surrounding units. In this case, candidate units included in the set of candidate units may be selected using the encoding parameter identifiers.
[0166] A predetermined value may be assigned to the encoding parameter identifier. In this case, for example, the encoder may select a unit among the recovered neighboring units that has an encoding parameter with a value identical to the value assigned to the encoding parameter identifier as a candidate unit. As another example, the encoder may select a unit among the recovered neighboring units that has an encoding parameter with a value greater than the value assigned to the encoding parameter identifier as a candidate unit. As yet another example, the encoder may select a unit that has an encoding parameter with a value smaller than the value assigned to the encoding parameter identifier as a candidate unit.
[0167] The encoder can encode the encoding parameter identifier. At this time, the encoded encoding parameter identifier can be transmitted to the decoder.
[0169] In addition, as described above, the encoder can use the encoding parameters of candidate units included in the set of candidate units for inter-prediction and motion compensation. At this time, the encoder can determine a candidate unit that exhibits optimal encoding efficiency in terms of rate-distortion as a reference unit by using the encoding parameters.
[0170] When a reference unit is determined by the rate-distortion optimization method, the encoder may encode a reference unit identifier that indicates 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. For example, the reference unit identifier may 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 identifier may indicate the difference in encoding order from the unit to be encoded to the reference unit. As yet another example, a reference unit index may be assigned to each of the candidate units within the candidate unit set, and the reference unit index may be used as the reference unit identifier.
[0171] The decoder can receive and decode an encoded reference unit identifier. The decoder can determine a reference unit using the decoded reference unit identifier.
[0173] 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 1, the encoder and decoder may determine the reference unit without a separate reference unit identifier. In this case, the encoder may omit encoding the reference unit identifier.
[0175] FIG. 14 is a flowchart schematically illustrating one embodiment of a method for determining a reference unit in a decoder.
[0176] Referring to FIG. 14, the decoder can receive reference unit identification information from the encoder and perform decoding (S1410). The reference unit identification information transmitted from the encoder may include at least one of an encoding parameter identifier and a reference unit identifier.
[0178] The decoder can select candidate units included in a set of candidate units by using a encoding parameter identifier included in reference unit identification information. A predetermined value may be assigned to the encoding parameter identifier. In this case, for example, the decoder may select a unit among the recovered neighboring units that has an encoding parameter value equal to the value assigned to the encoding parameter identifier as a candidate unit. As another example, the decoder may select a unit among the recovered neighboring units that has an encoding parameter value greater than the value assigned to the encoding parameter identifier as a candidate unit. As yet another example, the decoder may select a unit that has an encoding parameter value smaller than the value assigned to the encoding parameter identifier as a candidate unit. Here, the value assigned to the encoding parameter identifier may be the same value as the encoding parameter and / or the value of the encoding parameter identifier used in the encoder.
[0180] The decoder can decode the reference unit identifier encoded by the encoder. As described above, the reference unit identifier can indicate which candidate unit among the candidate units included in the candidate unit set is determined to be the reference unit. For example, the reference unit identifier can indicate the order and / or position within the candidate unit set of the candidate unit determined to be the reference unit. As another example, the reference unit identifier can indicate the difference in decoding order from the unit to be decoded to the reference unit. As yet another example, a reference unit index may be assigned to each of the candidate units within the candidate unit set, and said reference unit index may be used as the reference unit identifier. The decoder can use the decoded reference unit identifier to determine the reference unit from the candidate unit set.
[0182] 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 1, the encoder and decoder can determine the reference unit without a separate reference unit identifier. In this case, since the encoder may not transmit the reference unit identifier, the decoder may not decode the reference unit identifier.
[0184] Referring again to FIG. 14, the decoder can generate a set of candidate units using the restored peripheral units (S1420).
[0185] The decoder may select a candidate unit from among the restored peripheral units according to a predetermined criterion and / or method. In this case, the decoder may use the encoding parameters of the unit to be decoded and / or the encoding parameters of the restored peripheral units to reflect the characteristics of the image. The decoder may generate a set of candidate units by including and / or inserting the selected candidate unit into the set of candidate units.
[0186] The decoder can generate a set of candidate units through the same process as the encoder. Since the process of generating the set of candidate units in the encoder has been described above, a detailed explanation of the process of generating the set of candidate units in the decoder will be omitted.
[0188] When a set of candidate units is generated, the decoder can determine a reference unit used for prediction and / or motion compensation of the current decoding target unit among the candidate units included in the generated set of candidate units (S1430).
[0189] The decoder may utilize decoded reference unit identification information during the reference unit determination process. Once the reference unit is determined, the decoder may perform inter-prediction for the target unit to be encoded using the determined reference unit. Specific embodiments of the reference unit determination method will be described later.
[0191] FIG. 15 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to an embodiment of the present invention.
[0192] The decoder can determine a reference unit used for inter-prediction and motion compensation of the target unit for decoding from among the candidate units included in the candidate unit set by using a decoded reference unit identifier. For example, the reference unit identifier may 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 identifier may indicate the difference in decoding order from the target unit for decoding to the reference unit. As yet another example, a reference unit index may be assigned to each of the candidate units within the candidate unit set, and the reference unit index may be used as a reference unit identifier.
[0193] Referring to FIG. 15, the set of candidate units may be configured as {A, B, C, D, E, F} in one embodiment. In this case, a reference unit index may be assigned to each candidate unit, for example, an index of 0 may be assigned to A, 1 to B, 2 to C, 3 to D, 4 to E, and 5 to F. When the value of the decoded reference unit index is 2, the decoder may determine unit C as the reference unit by using the value of the reference unit index.
[0195] FIG. 16 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to another embodiment of the present invention. It is assumed that the order in which the restored peripheral units in FIG. 16 are decoded is H->D->K->L->E->F->N->O->G->P->I->A->J->B->C->M.
[0196] In the process of generating a set of candidate units, the decoder can sort the candidate units included in the set of candidate units in order of highest probability of being determined as a reference unit. At this time, the decoder can determine the first candidate unit among the candidate units included in the set of candidate units as the reference unit.
[0197] Referring to FIG. 16, the decoder can select units adjacent to the unit to be decoded as candidate units. In this case, the selected candidate units may be A, B, C, D, E, and F. The decoder can sort the selected candidate units according to the decoding order. For example, the decoder may preferentially include a unit that was decoded later in the decoding order in the set of candidate units. In this case, the set of candidate units may be configured as {C, B, A, F, E, D}. The decoder may determine the first candidate unit C within the set of candidate units as the reference unit. In this case, the candidate unit with the smallest difference in decoding order from the unit to be decoded may be determined as the reference unit.
[0198] When the first candidate unit within the set of candidate units is determined to be the reference unit, the encoder and decoder can determine the reference unit without a separate reference unit identifier. In this case, since the encoder may not transmit the reference unit identifier to the decoder, the decoder may not decode the reference unit identifier.
[0200] FIG. 17 is a conceptual diagram schematically illustrating a method for determining a reference unit in a decoder according to another embodiment of the present invention.
[0201] Referring to FIG. 17, the decoder can select units adjacent to the unit to be decoded as candidate units. At this time, the selected candidate units may be A, D, E, and F.
[0202] Meanwhile, the number of candidate units included in the candidate unit set may be limited to a predetermined number, and the predetermined number may be 1. In this case, the decoder may generate a candidate unit set by selecting only one unit as a candidate unit among the restored surrounding units that has the highest probability of being selected as a reference unit. For example, the decoder may compare the sizes of the restored surrounding units with each other and select only the relatively largest unit (e.g., unit A) as a candidate unit. In this case, the candidate unit set is configured as {A}, and the number of candidate units constituting the candidate unit set may be 1.
[0203] When the number of candidate units constituting the set of candidate units is one, the encoder and decoder can determine that candidate unit as the reference unit. In this case, the encoder and decoder can determine the reference unit without a separate reference unit identifier. Therefore, since the encoder may not transmit the reference unit identifier to the decoder, the decoder may not decode the reference unit identifier.
[0205] In the embodiments described above, methods are described based on flowcharts as a series of steps or blocks; however, the present invention is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps of the flowcharts may be omitted without affecting the scope of the present invention.
[0206] The embodiments described above include examples of various aspects. While it is not possible to describe all possible combinations for representing various aspects, those skilled in the art will recognize that other combinations are possible. Accordingly, the present invention shall be deemed to include all other substitutions, modifications, and changes falling within the scope of the following claims.
Claims
Claim 1 A method for decoding images comprises: determining at least one spatial candidate unit of a decoding target unit among the restored surrounding units of the decoding target unit; selecting a picture from a reference picture list of the decoding target unit; determining a temporal candidate unit of the decoding target unit within the selected picture; generating a candidate unit set for inter-prediction of the decoding target unit based on the spatial candidate unit and the temporal candidate unit; and determining a reference unit of the decoding target unit from the candidate unit set based on reference unit identification information. A method for image decoding comprising the step of performing inter-prediction for the decoding target unit based on the reference unit, wherein the determined spatial candidate unit is a unit among the restored surrounding units that has a reference picture list different from the decoding target unit and a reference picture identical to the decoding target unit, the reference unit identification information specifies the motion vector of the reference unit used for inter-prediction of the decoding target unit from the set of candidate units, and the temporal candidate unit is determined based on the spatial position within the selected picture corresponding to the spatial position of the decoding target unit. Claim 2 A video encoding method comprises: a step of determining at least one spatial candidate unit of a target unit among restored surrounding units of a target unit; a step of determining a temporal candidate unit of a target unit; a step of generating a candidate unit set for inter-prediction of the target unit based on the spatial candidate unit and the temporal candidate unit; and a step of deriving reference unit identification information for the target unit based on the candidate unit set and motion information of the target unit. A video encoding method comprising the step of selectively encoding the reference unit identification information, wherein the temporal candidate unit is located in any one of a plurality of reference pictures belonging to the reference picture list of the encoding target unit, and the picture in which the temporal candidate unit is located is indicated by a reference picture index, and the spatial candidate unit is a unit among the restored surrounding units that has a reference picture list different from the reference picture list of the encoding target unit and uses the same reference picture as the encoding target unit, and the reference unit identification information specifies the motion vector of the reference unit used for inter-prediction of the encoding target unit from the set of candidate units, and the temporal candidate unit is determined based on the spatial position within the picture indicated by the reference picture index corresponding to the spatial position of the encoding target unit. Claim 3 A computer-readable non-transient recording medium storing a bitstream generated by an image encoding method, wherein the image encoding method comprises: a step of determining at least one spatial candidate unit of an encoding target unit among restored surrounding units of an encoding target unit; a step of determining a temporal candidate unit of an encoding target unit; a step of generating a candidate unit set for inter-prediction of an encoding target unit based on the spatial candidate unit and the temporal candidate unit; and a step of deriving reference unit identification information for an encoding target unit based on the candidate unit set and motion information of the encoding target unit. A recording medium comprising the step of selectively encoding the reference unit identification information, wherein the temporal candidate unit is located in any one of a plurality of reference pictures belonging to the reference picture list of the encoding target unit, and the picture in which the temporal candidate unit is located is indicated by a reference picture index, and the spatial candidate unit is a unit among the restored surrounding units that has a reference picture list different from the reference picture list of the encoding target unit and uses the same reference picture as the encoding target unit, and the reference unit identification information specifies the motion vector of the reference unit used for inter-prediction of the encoding target unit from the set of candidate units, and the temporal candidate unit is determined based on the spatial position within the picture indicated by the reference picture index corresponding to the spatial position of the encoding target unit.
