Source: https://patents.justia.com/patent/10536706
Timestamp: 2020-02-20 02:58:38
Document Index: 525460868

Matched Legal Cases: ['Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 2014', 'Application No. 12848248']

US Patent for Method and device for sharing a candidate list Patent (Patent # 10,536,706 issued January 14, 2020) - Justia Patents Search
Justia Patents BidirectionalUS Patent for Method and device for sharing a candidate list Patent (Patent # 10,536,706)
May 1, 2019 - Electronics and Telecommunications Research Institute
Timing estimation method of random access preamble, random access preamble detection method, and random access preamble detection apparatus
Metal material for 3-dimensional printing, method for manufacturing the same, and method for 3-dimensional printing using the same
Apparatus and method for data compression and decompression based on calculation of error vector magnitude
This application is a continuation of U.S. application Ser. No. 16/018,324 filed on Jun. 26, 2018, which is a continuation of U.S. application Ser. No. 15/814,030 filed on Nov. 15, 2017, now U.S. Pat. No. 10,038,907, issued on Jul. 31, 2018, which is a continuation of U.S. application Ser. No. 15/342,751 filed on Nov. 3, 2016, now U.S. Pat. No. 9,854,249, issued on Dec. 26, 2017, which is a continuation of U.S. application Ser. No. 14/353,615 having a 371(c) date of Apr. 23, 2014, now U.S. Pat. No. 9,516,334, issued on Dec. 6, 2016, which is a U.S. national stage application of International Application No. PCT/KR2012/009427 filed on Nov. 8, 2012, which claims the benefit of Korean Patent Application No. 10-2011-0115607 filed on Nov. 8, 2011, Korean Patent Application No. 10-2011-0116527 filed on Nov. 9, 2011, Korean Patent Application No. 10-2011-0121428 filed on Nov. 21, 2011, Korean Patent Application No. 10-2011-0124813 filed on Nov. 28, 2011, Korean Patent Application No. 10-2011-0140861 filed on Dec. 23, 2011, Korean Patent Application No. 10-2012-0011412 filed on Feb. 3, 2012, and Korean Patent Application No. 10-2012-0126369 filed on Nov. 8, 2012, in the Korean Intellectual Property Office, the entire disclosures of which are incorporated herein by reference for all purposes.
To achieve the objective above, a method for generating a list of merging candidates for prediction blocks according to one aspect of the present invention comprises deriving based on an coding block including the prediction block at least one merging candidate from a spatial merging candidate and a temporal merging candidate of the prediction block for which a parallel merge processing is applied; and based on the merging candidate derived, generating a single merging candidate list with respect to the coding block. The deriving based on a coding block including the prediction block at least one merging candidate from a spatial merging candidate and a temporal merging candidate of the prediction block to which parallel merge processing can be applied comprises deriving a spatial merging candidate block and a temporal merging candidate block based on pixel position and size of the coding block and deriving motion prediction-related information of an available merging candidate block from the derived spatial merging candidate block and the temporal merging candidate block as the merging candidate. The method for generating a merging candidate list for prediction blocks further comprises determining whether parallel merge processing can be applied to the prediction block; and the determining whether parallel merge processing can be applied to a prediction block comprises decoding size information of a block to which parallel merge processing can be applied and determining whether parallel merge processing can be applied to the prediction block based on size information of the block to which parallel merge processing can be applied and size information of the coding block. The deriving motion prediction-related information of an available merging candidate block from the derived spatial merging candidate block and the temporal merging candidate block as the merging candidate comprises determining whether the coding block and a spatial merging candidate block derived based on the coding block belong to the inside of the block to which parallel merge processing can be applied; and in case the coding block and the spatial merging candidate block derived based on the coding block belong to the inside of the block to which parallel merge processing can be applied, determining the spatial merging candidate block as a unavailable spatial merging candidate block. The determining whether the prediction block is to which parallel merge processing can be applied based on size information of the block to which parallel merge processing can be applied and size information of the coding block comprises determining whether the size of a block to which parallel merge processing can be applied is larger than a predetermined size, determining whether the coding block is of a particular size, and in case the size of the block to which parallel merge processing can be applied is larger than the predetermined size and the coding block is of the particular size, determining that merging is carried out for the prediction block by using the single merging candidate list. The method for generating a merging candidate list for a prediction block further comprises deriving the spatial merging candidate block and the temporal merging candidate block based on pixel position and size of the prediction block in case the prediction block is not to which parallel merge processing can be applied; and deriving motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate. The deriving motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate comprises determining whether the prediction block corresponds to a block divided into one of N×2N, nL×2N and nR×2N form and the prediction block corresponds to a second prediction block; and in case the prediction block corresponds to the block divided into one of N×2N, nL×2N and nR×2N form and the prediction block corresponds to a second prediction block, determining a spatial merging candidate block included in a first prediction block as a unavailable block. The deriving motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate comprises determining whether the prediction block corresponds to a block divided into one of 2N×N, 2N×nU and 2N×nD form and the prediction block corresponds to a second prediction block; and in case the prediction block corresponds to the block divided into one of 2N×N, 2N×nU and 2N×nD form and the prediction block corresponds to the second prediction block, determining a spatial merging candidate block included in the first prediction block as a unavailable block.
To achieve the objective of the present invention above, a video decoding apparatus according to one aspect of the present invention comprises a prediction unit. The prediction unit derives based on a coding block including the prediction block at least one merging candidate from a spatial merging candidate and a temporal merging candidate of the prediction block to which a parallel merge process can be applied; and based on the merging candidate derived, generates a single merging candidate list with respect to the coding block. To derive based on a coding block including the prediction block at least one merging candidate from a spatial merging candidate and a temporal merging candidate of the prediction block to which parallel merge processing can be applied, the prediction unit derives a spatial merging candidate block and a temporal merging candidate block based on pixel position and size of the coding block and derives motion prediction-related information of an available merging candidate block from the derived spatial merging candidate block and the temporal merging candidate block as the merging candidate. The prediction unit determines whether parallel merge processing can be applied to the prediction block; and to determine whether parallel merge processing can be applied to the prediction block, determines based on size information of a decoded block to which parallel merge processing can be applied and size information of the coding block whether parallel merge processing can be applied to the prediction block. The prediction unit, to derive motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate, determines whether the coding block and a spatial merging candidate block derived based on the coding block belong to the inside of the block to which parallel merge processing can be applied; and in case the coding block and the spatial merging candidate block derived based on the coding block belong to the inside of the block to which parallel merge processing can be applied, determines the spatial merging candidate block as a unavailable spatial merging candidate block. To determine whether parallel merge processing can be applied to the prediction unit based on size information of the block to which parallel merge processing can be applied and size information of the coding block, the prediction unit determines whether the size of a block to which parallel merge processing can be applied is larger than a predetermined size, determines whether the coding block is of a particular size, and in case the size of the block to which parallel merge processing can be applied is larger than the predetermined size and the coding block is of the particular size, determines that merging is carried out for the prediction block by using the single merging candidate list. The prediction unit derives the spatial merging candidate block and the temporal merging candidate block based on pixel position and size of the prediction block in case parallel merge processing cannot be applied to the prediction block; and derives motion prediction-related information of an available merging candidate block from the derived spatial merging candidate block and the temporal merging candidate block as the merging candidate. To derive motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate, the prediction unit determines whether the prediction block corresponds to a block divided into one of N×2N, nL×2N and nR×2N form and the prediction block corresponds to a second prediction block; and in case the prediction block corresponds to the block divided into one of N×2N, nL×2N and nR×2N form and the prediction block corresponds to a second prediction block, determines a spatial merging candidate block included in a first prediction block as a unavailable block. To derive motion prediction-related information of an available merging candidate block from the spatial merging candidate block and the temporal merging candidate block derived as the merging candidate, the prediction unit determines whether the prediction block corresponds to a block divided into one of 2N×N, 2N×nU and 2N×nD form and the prediction block corresponds to a second prediction block; and in case the prediction block corresponds to the block divided into one of 2N×N, 2N×nU and 2N×nD form and the prediction block corresponds to the second prediction block, determines a spatial merging candidate block included in the first prediction block as a unavailable block.
If some constituting element is mentioned to be “linked” or “connected” to another constituting element, the element may be linked or connected to the another element directly but it should be understood that another element may exist between the two elements. Also, what is meant to be “included” in the present invention should be understood that it does not exclude other components other than those explicitly included in the document and additional structure can be included in an embodiment or technical scope of the present invention.
Methods for improving prediction performance of an encoding/decoding apparatus include a method of increasing accuracy of an interpolated video frame and a method of predicting a difference signal. In the present invention, a “difference signal” can be substituted by a “residual block” or “difference block” depending on the context and it should be understood by those skilled in the art that the terminologies can be differentiated from each other without influencing on the technical principles of the present invention.
In the following of the present invention, a spatial merging candidate block is defined as a block among neighboring blocks used for deriving merging candidates, which is adjacent to a current block and belongs to the same picture as the current block. Meanwhile, motion prediction-related information derived from a spatial merging candidate block is called a spatial merging candidate A temporal merging candidate block is defined as a block among neighboring blocks used for deriving merging candidates, which is co-located with the current block but belongs to a different picture from the current block. Motion prediction-related information derived from a temporal merging candidate block is called a temporal merging candidate.
Motion vector (mvL0/L1), reference picture index (refld×L0/L1), and reference picture list utilization information (predFlagL0/L1) may be used for motion prediction-related information. FIG. 3A illustrates Motion vector (mvL0/L1), reference picture index (refld×L0/L1), and reference picture list utilization information (predFlagL0/L1).
The reference picture index 306 provides index information about a reference picture for a prediction block to carry out inter prediction. In case inter prediction is carried out by using a plurality of reference pictures, each reference picture used can be indexed by using the reference picture index refld×L0 and refld×L1.
With reference to FIG. 3B, existing spatial merging candidate blocks 300, 310, 320, 330, 340 are derived with respect to a prediction block. Suppose the position of a pixel located in the top-left of the prediction block is (xP, yP); width of the prediction block nPbW; height of the prediction block nPbH; and MinPbSize represents the size of the smallest prediction block. Then, in the following of the present invention, a spatial merging candidate block of the prediction block describes a block containing a pixel at (xP−1, yP+nPbH) as a left first block (or A0 block, 300); a block containing a pixel at (xP−1, yP+nPbH−1) as a left second block (or A1 block, 310); a block containing a pixel at (xP+nPbW, yP−1) as a top first block (or B0 block, 320); a block containing a pixel at (xP+nPbW−1, yP−1) as a top second block (or B1 block, 330); and a block containing a pixel at (xp_1, yP−1) as a top third block (or B2 block, 340). Instead of using 1 as an index, a different value, for example, “MinPbSize” can be used and in this case, too, blocks at the same physical position can be indexed. Coordinates used for specifying the blocks at particular position are chosen arbitrarily and the same blocks can be specified by using various other expressions.
With reference to FIG. 4, one coding block is divided into a first prediction block 400 and a second prediction block 420, both of which have an N×2N form. A spatial merging candidate of the first prediction block 400 is derived based on the position of the first prediction block as shown in FIG. 4A while a spatial merging candidate block of a second prediction block 420 is derived based on the position of the second prediction block 420 as shown in FIG. 4B. Although temporal merging candidate blocks are not shown, the temporal merging candidate is derived based on the position of each prediction block.
In a decoding process, inter prediction by merging can be carried out for a current block based on a merge index (merge_jdx[xP][yP]) which is the information about which candidate is used for inter prediction of the current block from among candidates included in a merging candidate list.
The A0 block 605 corresponds to a block including a pixel at (xC−1, yC+nCS); the A1 block 610 a block including a pixel at (xC−1, yC+nCS−1); the B0 block 615 a block including a pixel at (xC+nCS, yC−1); the B1 block 620 a block including a pixel at (xC+nCS−1, yC−1); the B2 block 625 a block including a pixel at (xC−1, yC−1).
Although the method illustrated in FIG. 6 divides a first N×2N prediction block 600 and a second N×2N prediction block 650 into blocks of N×2N form, the method can also be applied to blocks (for example, 2N×N, 2N×nU, nL×2N, nR×2N, or N×N) which are divided into prediction blocks of various other forms.
For example, based on the information that the size of a block to which parallel merge processing can be applied has to be larger than 4×4 size and the size of a current block is 8×8, flag information indicating that prediction blocks divided from an 8×8 coding block uses a single merging candidate list can be derived. The derived flag can be used later to derive a spatial merging candidate and a temporal merging candidate of a prediction block based on a coding block.
For example, suppose the top-left pixel of the first prediction block is (xP, yP). A spatial merging candidate block of a prediction block then configures such that a block including a pixel at (xP−1, yP+nPbH) is a left first block (or A0 block, 805); a block including a pixel at (xP−1, yP+nPbH−1) a left second block (or A1 block, 810); a block including a pixel at (xP+nPbW, yP−1) a top first block (or B0 block, 813); a block including a pixel at (xP+nPbW−1, yP−1) a top second block (B1 block, 815); and a block including a pixel at (xP−1, yP−1) a top third block (B2 block, 820).
Spatial merging candidate blocks of the second prediction block 850 are A0′ block 825, A1′ block 830, B0′ block 835, B1′ block 840, and B2′ block 815; and the position of each block can be derived from the position of the top left pixel of the second prediction block 850 and the size (width and height) of the second prediction block 850.
For example, if the top-left pixel of the second prediction block is (xP, yP′), the spatial merging candidate block of the prediction block configures such that a block including a pixel at (xP′−1, yP′+nPbH) is a left first block (or A0′ block, 825); a block including a pixel at (xP′−1, yP′+nPbH−1) a left second block (or A1′ block, 830); a block including a pixel at (xP′+nPbW, yP′−1) a top first block (or B0; block, 835); a block including a pixel at (xP′+nPbW−1, yP′−1) a top second block (B1′ block, 840); and a block including a pixel at (xP′−1, yP′−1) a top third block (B2′ block, 815).
With reference to FIG. 12, a first prediction block 1200 and a second prediction block 1250 can use spatial candidate prediction blocks different from each other with respect to the positions of individual prediction blocks. In other words, a spatial candidate prediction block for the first prediction block 1200 may correspond to A0 block 1205, A1 block 1210, B0 block 1212, B1 block 1215, and B2 block 1220 while a spatial candidate prediction block for the second prediction block 1250 may correspond to A0′ block 1225, A1′ block 1230, B0′ block 1235, B1 ‘ block 1240, and B2’ block 1215.
In the inter prediction mode based on AMVP, a single motion vector prediction candidate list can be generated differently according to a reference picture index referred to by a block. For example, if a current picture (or a slice) has four reference pictures, up to four reference picture indexes can be defined. In this case, since each reference picture index can have a single motion vector prediction candidate list, a total of ‘four’ single motion vector prediction candidate lists can be generated and used for a target prediction block.
In FIG. 13A, the position of A1 block 1300 can be newly defined as the position including a pixel at (xC−1, yC+nCS/2) while the position of B1 block 1305 can be newly defined as the position including a pixel at (xC+nCS/2, yC−1).
In FIG. 13B, the position of A1 block 1350 can be newly defined as the position including a pixel at (xC−1, yC+nCS/2−1) while the position of B1 block 1355 can be newly defined as the position including a pixel at (xC+nCS/2, yC−1).
TABLE 1 Generation of a Generation of a single merging single motion candidate list and Generation of a vector a single motion single merging prediction vector prediction candidate list candidate list candidate list
coding block based (A) (B) (C) (namely, shared among prediction blocks within the same coding block) Block size based (D) (E) (F) (namely, shared among prediction blocks belonging to an area of a particular block size) coding block size (G) (H) (I) based (namely, shared among prediction blocks within the same coding block only when the size of the coding block is smaller than a particular size)
With reference to FIG. 15, for example, only when the size of a block to which parallel merge processing can be applied is 8×8 or more and size of a coding block is 8×8, prediction blocks divided from the coding block can share a single merging candidate list.
Now it is assumed that a first coding block CU0 1500 is a 32×32 block; a second coding block CU1 1510 is a 16×16 block; a third coding block CU2 1520 is a 32×32 block; a fourth coding block CU3 1530 is a 16×16 block; and a fifth coding block CU4 1540 is a 8×8 block.
With reference to FIG. 15B, the second coding block 1510 is divided into two prediction blocks 1515, 1518 of nL×2N form while the fifth coding block 1540 is divided into two prediction blocks 1545, 1550 of N×2N form. FIG. 15B assumes that a single merging candidate list is generated only for a coding block of 8×8 size 1540.
The size of the fifth coding block 1540 is 8×8 and satisfies the conditions imposed on the size of a block to which parallel merge processing can be applied and the size of a current encoding block. In this case, a third prediction block 1545 and a fourth prediction block 1550 included in the fifth coding block 1540 can generate a single merging candidate list based on a spatial merging candidate and a temporal merging candidate derived from the position and the size of the coding block.
For example, suppose the size of the block to which parallel merge processing can be applied is 8×8 and the size of a current encoding block is 8×8. If the coding block and a spatial merging candidate block derived based on the coding block belong to the same block to which parallel merge processing can be applied, the spatial merging candidate block can be determined as unavailable. In other words, in case the coding block and the spatial merging candidate block derived based on the coding block belong to a block to which different parallel merge processing can be applied, the corresponding spatial merging candidate block can be used for deriving a spatial merging candidate.
TABLE 2 Descriptor
seq_parameter_set_rbsp( ) { profile_idc u(8) reserved_zero_8bits /* equal to 0 */ u(8) level_idc u(8) ... ue(v) parallel_merge_enabled_flag u(1) if(parallel_merge_enabled_flag) parallel_merge_disabled_depth_info ue(v) ...
TABLE 3 Descriptor
pic_parameter_set_rbsp( ) { pic_parameter_set_id ue(v) seq_parameter_set_id ue(v) entropy_coding_mode_flag u(1) ... parallel_merge_enabled_flag u(1) if(parallel_merge_enabled_flag) parallel_merge_disabled_depth_info ue(v) ...
TABLE 4 Descriptor
slice_header( ) { lightweight_slice_flag u(1) if( !lightweight_slice_flag ) { slice_type ue(v) pic_parameter_set_id ue(v) frame_num u(v) ... parallel_merge_enabled_flag u(1) if(parallel_merge_enabled_flag) parallel_merge_disabled_depth_info ue(v) ...
TABLE 5 Descriptor
slice_header( ) { lightweight_slice_flag u(1) if( !lightweight_slice_flag ) { slice_type ue(v) pic_parameter_set_id ue(v) frame_num u(v) ... } if( entropy_coding_mode_flag && slice_type != I) cabac_init_idc ue(v) first_slice_in_pic_flag u(1) ... parallel_merge_enabled_flag u(1) if(parallel_merge_enabled_flag) parallel_merge_disabled_depth_info ue(v) ...
“parallel_merge_enabled_flag” included in the syntax of Tables 2 to 5 can be used as information indicating whether to use a single merging candidate list based on a coding block. Also, “parallel_merge_enabled_flag” can include information about whether a parallel merge process is carried out.
For example, in case “parallel_merge_enabled_flag” is 1, it indicates that a method for generating a single merging candidate list has been applied based on a coding block and indicates a parallel merge process to be carried out whereas, in case “parallel_merge_enabled_flag” is 0, it may indicate that a single merging candidate list has not been applied and a parallel merge process is not applicable; and vice versa. Also, “parallel_merge_enabled_flag” can be used as the information indicating whether to encode or decode all of the prediction blocks within a coding block in a parallel fashion and as the information indicating whether to construct a merging candidate list of all the prediction blocks within the coding block in a parallel fashion.
Meanwhile, “parallel_merge_disabled_depth_info” is activated when a method for generating a single merging candidate list is applied based on a coding block (for example, when “parallel_merge_enabled_flag” has a true value), informing the applicability of a single merging candidate list according to the depth or the size of the coding block.
For example, in case “parallel_merge_disabled_depth_info” is 0, the corresponding method may not be applied if the depth of the coding block is 0 (which corresponds to the largest coding block, for example, 64×64 sized block). In case “parallel_merge_disabled_depth_info” is 1, the corresponding method may not be applied if the depth of the coding block is 1 (which corresponds to a size one step smaller than the largest coding block, for example, 32×32 sized block).
As another example, in case “parallel_merge_disabled_depth_info” is 0, the corresponding method may not be applied if the depth of the coding block is more than 0 (which corresponds to the largest coding block). Similarly, in case “parallel_merge_disabled_depth_info” is 1, the corresponding method may not be applied if the depth of the coding block is more than 1 (this case describes the sizes of the coding block except for the largest coding block; for example, if the size of the largest coding block is 64×64, the coding block size can take 32×32, 16×16, and 8×8.)
As yet another example, in case “parallel_merge_disabled_depth_infor” is 1, the corresponding method may not be applied if the depth of the coding block is more than 1 (which corresponds to the coding block sizes except for the largest coding block).
The “parallel_merge_disabled_depth_info” is one example of information related to a block to which parallel merge processing can be applied during inter prediction by merging; a different syntax element may be used to represent a parallel merge process during inter prediction by merging and this embodiment also belongs to the technical scope of the present invention.
On the other hand, information about whether a parallel merge process is applicable can be represented by using only “parallel_merge_disabled_depth_info” even if information such as “parallel_merge_enabled_flag” is not employed. For example, in case “parallel_merge_disabled_depth_info” corresponds to a particular value, it may indicate that a parallel merge process is not possible. And such an embodiment also belongs to the technical scope of the present invention.
As still another example, log 2_parallel_merge_level_minus2 can be defined. log 2_parallel_merge_level_minus2 indicates a level at which a parallel merge process can be applied. For example, if the value of log 2_parallel_merge_level_minus2 is 0, it indicates the size of a block (or a coding block) to which parallel merge processing can be applied is 4×4. If it is assumed that the 4×4 block is the smallest coding block, it indicates that parallel merge processing is not carried out when the value of log 2_parallel_merge_level_minus2 is 0. As another example, if log 2_parallel_merge_level_minus2 is 1, it indicates that parallel merge processing can be applied to all of the prediction blocks belonging to an 8×8 sized block. If log 2_parallel_merge_level_minus2 is 2, parallel merge processing can be applied to all of the prediction blocks belonging to a 16×16 sized block. If log 2_parallel_merge_level_minus2 is 3, parallel merge processing can be applied to all of the prediction blocks belonging to a 32×32 sized block. If log 2_parallel_merge_level_minus2 is 4, parallel merge processing can be applied to all of the prediction blocks belonging to a 64×64 sized block. In other words, by using the syntax element above, the size of a block to which particular parallel merge processing can be applied is specified. As described above, whether inter prediction using a single merging candidate list is carried out for at least one prediction block included in a current block can be determined by using the information about the block to which parallel merge processing can be applied derived through log 2_parallel_merge_level_minus2 and the information of the current block (for example, size information). It can be determined whether a spatial merging candidate block derived based on a coding block to derive a spatial merging candidate included in a single merging candidate list belongs to the block to which parallel merge processing can be applied. For example, suppose the block for which parallel merge processing is applied is an 8×8 sized block and the size of the current encoding block is 8×8. If the coding block and a spatial merging candidate block derived based on the coding block belong to a block for which the same parallel merge processing can be applied, the spatial merging candidate block can be determined a unavailable spatial merging candidate. In other words, if a coding block and a spatial merging candidate block derived based on the coding block belong to an block for which different parallel merge processing can be applied, the corresponding spatial merging candidate block can be used for deriving a spatial merging candidate.
For example, in selecting the search position of a spatial merging candidate of a prediction block outside of the coding block, those prediction blocks divided along a vertical direction (for example, in the form of N×2N) can be made to share a spatial merging candidate block in the left position from among outside positions of the coding block. Prediction blocks divided along a horizontal direction (for example, in the form of 2N×N) can be made to share a spatial merging candidate block in the top position from among outside positions of the coding block. In other words, the number of deriving a spatial merging candidate can be significantly reduced compared with the method which does not share a merging candidate.
FIG. 16A illustrates a case where a coding block is divided into a prediction block of N×2N form. In case of a first prediction block 1600, a merging candidate list can be generated with respect to the position of the first prediction block 1600 by using A0 block 1605, A1 block 1610, B0 block 1615, B1 block 1629, and B2 block 1625 as the spatial merging candidate block.
However, in case of a second prediction block 1650, if a spatial merging candidate block is derived based on the position of the second prediction block, a part of spatial merging candidate blocks, A0 block 1630 and A1 block 1635, may be located at the positions belonging to the first prediction block or at the position of a coding block not encoded yet. In case a spatial merging candidate block is located at such position, inter prediction by merging for the first 1600 and the second prediction block 1650 cannot be carried out in a parallel fashion. Therefore, inter prediction by merging can be carried out by changing the positions of the A0 block 1630 and the A1 block 1635 used as the spatial merging candidate block into A0′ block 1605 and A1′ block 1610 located outside of the coding block and deriving a merging candidate list about the second prediction block 1650. The A0′ block 1605 and the A1′ block 1610 can be located at the same positions as those of spatial merging candidate blocks of the first prediction block 1600.
FIG. 16B illustrates a case where a coding block is divided into a prediction block of 2N×N form. In case of a first prediction block 1660, a merging candidate list can be generated with respect to the position of the first prediction block 1660 by using A0 block 1665, A1 block 1667, B0 block 1673, B1 block 1675, and B2 block 1679 as the spatial merging candidate block.
However, in case of a second prediction block 1690, if a spatial merging candidate block is derived based on the position of the second prediction block 1690, a part of spatial merging candidate blocks, B0 block 1685 and B1 block 1687, may be located at the positions belonging to the first prediction block 1660 or at the position of a coding block not encoded yet. In case a block is located at such position, inter prediction by merging for the first 1660 and the second prediction block 1690 cannot be carried out in a parallel fashion. Therefore, inter prediction by merging can be carried out by changing the positions of the B0 block 1685 and the B1 block 1687 into A0′ block 1673 and A1′ block 1675 located outside of the coding block and deriving a merging candidate list about the second prediction block 1690. The B0′ block 1673 and the B1′ block 1675 can be located at the positions of spatial merging candidate blocks employed by the first prediction block 1660.
FIG. 18A illustrates a case where a coding block is divided into a prediction block of N×2N form. In case of a first prediction block 1800, a merging candidate list can be generated with respect to the position of the first prediction block 1800 by using A0 block 1805, A1 block 1810, B0 block 1815, B1 block 1829, and B2 block 1825 as the spatial merging candidate block.
FIG. 18B illustrates a case where a coding block is divided into a prediction block of 2N×N form. In case of a first prediction block 1860, a merging candidate list can be generated with respect to the position of the first prediction block 1860 by using A0 block 1865, A1 block 1870, B0 block 1875, B1 block 1880, and B2 block 1885 as the spatial merging candidate block.
With reference to FIG. 19, spatial merging candidate blocks at different positions from each other according to the division patterns of individual blocks can be derived and used. In other words, by making spatial merging candidate blocks of all the prediction blocks located outside of the coding block for which encoding has already been completed, inter prediction by merging for a plurality of prediction blocks divided from one coding block can be carried out in a parallel fashion
With reference to FIG. 20A, in case of a horizontally divided form (2N×nU, 2N×nD, 2N×N) spatial merging candidate blocks at the same position can be used irrespective of division forms by using the spatial merging candidate blocks at the same position, which are A0 block, A1 block, B0 block, B1 block, and B2 block, for a second prediction block.
With reference to FIG. 20B, in case of a horizontally divided form (nL×2N, nR×2N, N×2N) spatial merging candidate blocks at the same position can be used irrespective of division forms by using the spatial merging candidate blocks at the same position, which are A0 block, A1 block, B0 block, B1 block, and B2 block, for a second prediction block.
A temporal merging candidate can be derived based on the position of a particular-sized block in the same way as a spatial merging candidate. The temporal merging candidate determines an available block in the order of HO, H1, H2, H3, and H4 block; and incorporates the available block into a merging candidate list for later use. The temporal merging candidate can be scaled and used according to the picture number of a reference picture. The temporal merging candidate can utilize not only the blocks at the boundary of a block X′ corresponding to FIG. 21 but also the blocks M, N, O. P, Q located inside the block.
A temporal merging candidate determines an available block in the order of HO, H1, H2, H3, and H4 block; and incorporates a temporal merging candidate derived from the available block into a merging candidate list for later use. The motion vector derived from the temporal merging candidate can be scaled and used according to the picture number of a reference picture. The temporal merging candidate can utilize not only the blocks at the boundary of a block X′ corresponding to FIG. 22 but also the blocks M, N, O. P, Q located inside the block.
TABLE 6 Depth of a coding block Method A Method B Method C
0 X ◯ X 1 X ◯ X 2 ◯ ◯ ◯ 3 ◯ X X 4 ◯ X X
1. A method for decoding a video signal comprising:
determining, based on a size of a block, whether a first sub-block of the block and a second sub-block of the block share a single merging candidate list, the block comprising the first sub-block of the block and the second sub-block of the block;
deriving, when the first sub-block of the block and the second sub-block of the block share the single merging candidate list, at least one merging candidate relating to the first sub-block of the block based on a pixel position and the size of the block; and
generating a first merging candidate list for the first sub-block of the block based on the merging candidate, and
wherein the determining whether the first sub-block of the block and the second sub-block of the block share the single merging candidate list is determined based on a result of comparison the size of the block and a predetermined size.
2. The method of claim 1, wherein the predetermined size is 8×8.
3. The method of claim 1, wherein the block is a coding block.
4. The method of claim 1, wherein the block includes at least one coding block.
5. A method for encoding a video signal comprising:
6. The method of claim 5, wherein the predetermined size is 8×8.
7. The method of claim 5, wherein the block is a coding block.
8. The method of claim 5, wherein the block includes at least one coding block.
9. A non-transitory recording medium storing a bitstream formed by a method for encoding a video signal, the method comprising:
10. The recording medium of claim 9, wherein the predetermined size is 8×8.
11. The recording medium of claim 9, wherein the block is a coding block.
12. The recording medium of claim 9, wherein the block includes at least one coding block.
8739559 June 3, 2014 Thomas et al.
9139633 September 22, 2015 Johnson et al.
9185427 November 10, 2015 Tourapis et al.
20050053139 March 10, 2005 Park
20100166073 July 1, 2010 Schmit et al.
20120230408 September 13, 2012 Zhou
20130036071 February 7, 2013 Rouwenhorst et al.
20130042888 February 21, 2013 Zucchelli
20130070854 March 21, 2013 Wang et al.
20140269909 September 18, 2014 Oh et al.
20140301461 October 9, 2014 Jeon et al.
5969041 August 2016 JP
2016-165143 September 2016 JP
2016-165144 September 2016 JP
2016-165145 September 2016 JP
2016-167866 September 2016 JP
2003-0079872 October 2003 KR
10-2007-0117432 December 2007 KR
10-1039204 June 2011 KR
10-2011-0107827 October 2011 KR
2310231 December 2004 RU
WO 2010/032941 March 2010 WO
WO 2010/078212 July 2010 WO
WO 2012/177644 December 2012 WO
WO 2013/036071 March 2013 WO
WO 2013/039639 March 2013 WO
WO 2013/042888 March 2013 WO
Liu, S. et al., “Method and syntax for partial CU merge,” 5th Meeting on Joint Collaborative Team on Video Coding (JCT-VC) held in Geneva, Switzerland, Mar. 16-23, 2011 (5 pages).
Lin, J-L et al., “CE9: Results of Experiment SP04,” 6th Meeting on Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 held in Torino, IT on Jul. 14-22, 2011, document No. JCTVC-F050 (4 pages).
Zhou, M., “Parallelized merge/skip mode for HEVC,” 6th Meeting on Joint Collaborative Team on Video Coding (JCT-VC) held in Torino, Italy, Jul. 14-22, 2011 (13 pages).
Zheng, Y. et al., “Merge Candidate Selection in 2NxN, Nx2N, and NxN Mode,” 6th Meeting on Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, held in Torino, Italy on Jul. 14-22, 2011, document No. JCTVC-F302 (6 pages).
Seo, C. et al., “HEVC,” The magazine of the IEEK, vol. 38, No. 8, Aug. 31, 2011 (pp. 22-26).
Jeon, Y. et al., “Non-CE9: improvement on parallelized merge/skip mode,” 7th Meeting on Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, held in Geneva, Switzerland on Nov. 19-30, 2011, document No. JCTVC-G164 (7 pages).
Kim, H. et al., “CU-based Merge Candidate List Construction,” 7th Meeting on Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11, held in Geneva, CH, on Nov. 21-30, 2011 (14 pages).
Kim, H. Y. et al., “CU-based Merge Candidate List Construction,” 7th Meeting on Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, held in Geneva, Switzerland on Nov. 21-30, 2011, document No. JCTVC-G416 (15 pages).
Wen, X. et al., “Parallel Merge/Skip Mode for HEVC,” 7th Meeting on Joint Collaborative Team on Viedo Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, held in Geneva, Switzerland on Nov. 21-30, document No. JCTVC-G387 (13 pages).
International Search Report dated Mar. 8, 2013 in counterpart International Application No. PCT/KR2012/009427. (5 pages including English translation).
Japanese Office Action dated Jun. 23, 2015 in counterpart Japanese Application No. 2014-540949 (8 pages, in Japanese).
Partial supplementary European search report dated Aug. 14, 2015 in counterpart European Application No. 12848248.6 (6 pages).
Patent number: 10536706
Patent Publication Number: 20190261006
Assignees: Electronics and Telecommunications Research Institute (Daejeon), University-Industry Cooperation Group of Kyung Hee University (Yongin-si)
Inventors: Hui Yong Kim (Daejeon), Gwang Hoon Park (Seongnam-si), Kyung Yong Kim (Suwon-si), Sang Min Kim (Yongin-si), Sung Chang Lim (Daejeon), Jin Ho Lee (Daejeon), Jin Soo Choi (Daejeon), Jin Woong Kim (Daejeon)
Application Number: 16/400,445
International Classification: H04N 19/00 (20140101); H04N 19/159 (20140101); H04N 19/13 (20140101); H04N 19/105 (20140101); H04N 19/117 (20140101); H04N 19/122 (20140101); H04N 19/124 (20140101); H04N 19/52 (20140101); H04N 19/15 (20140101); H04N 19/51 (20140101); H04N 19/593 (20140101); H04N 19/503 (20140101); H04N 19/436 (20140101); H04N 19/61 (20140101); H04N 19/176 (20140101);