![]() Method and apparatus for motion vector candidate derivation and motion vector candidate prediction
专利摘要:
METHOD AND APPARATUS FOR DERIVING MOTION VECTOR CANDIDATE AND MOTION VECTOR CANDIDATE PREDICTION An apparatus and method for deriving a motion vector predictor are described. A search set comprising multiple search VMs (spatial or temporal) with priority is determined, where search VMs for multiple neighboring reference blocks or one or more co-located reference blocks are configured into groups of multiple search VMs. In order to increase coding efficiency, embodiments according to the present invention perform a redundancy check every time a group of search VMs is searched to determine if an available search VM is found. If an available search MV is found and the available search MV is not the same as a previously derived motion vector (MVP) predictor, the available search MV is used as the MVP and the MVP derivation process ends. Instead, the MVP derivation process moves to the next reference block. The research VM group can be configured to include different research VMs (...). 公开号:BR112013022522B1 申请号:R112013022522-0 申请日:2012-03-13 公开日:2021-08-31 发明作者:Jian-Liang Lin;Yi-Wen Chen;Yu-Pao Tsai;Yu-Wen Huang;Shaw-Min Lei 申请人:Hfi Innovation Inc.; IPC主号:
专利说明:
BACKGROUND OF THE INVENTION Cross Reference with Related Orders The present invention claims priority from US Provisional Patent Application No. 61/452,531, filed March 14, 2011, entitled "Derivation Method for Temporal Motion Vector Predictor", US Provisional Patent Application No. 61/453,666, filed at March 17, 2011, entitled "The Derivation of Spatial MV/MVP Candidate for Inter, Skip and Merging Prediction Units in Video Compression", and US Provisional Patent Application No. 61/476,425, filed April 18, 2011, entitled “Redundant MVP checking procedure for Inter, Skip and Merge PUs”. The present invention is also related to US non-provisional patent application No. 13/177,808, filed on July 7, 2011, entitled "Method and Apparatus for Derivation of Spatial Motion Vector Candidate and Motion Vector Prediction Candidate", and application for Non-Provisional US Patent No. 13/236,422, filed September 19, 2011, entitled "Method and Apparatus for Deriving Temporal Motion Vector Prediction." US provisional patent applications and US non-provisional patent applications are hereby incorporated by reference in their entirety. Field of Invention The present invention relates to video encoding. In particular, the present invention relates to coding techniques associated with candidate motion vector (MV) derivation and motion vector candidate prediction. Description of Related Art In video coding systems, spatial and temporal redundancy is exploited using spatial and temporal prediction to reduce the information to be transmitted. Spatial and temporal prediction uses decoded pixels from the same frame and reference frames respectively to form the prediction for the actual pixels to be encoded. Transmission of motion vectors for temporal prediction can require a considerable portion of the compressed video data, particularly in low bit rate applications. In order to reduce the bit rate associated with motion vectors, a technique called Motion Vector Prediction (MVP) has been used in the field of video encoding. The MVP technique exploits the statistical redundancy between spatially and temporally neighboring motion vectors. In High Efficiency Video Coding (HEVC), techniques to increase the efficiency of MVP are explored. Both spatial and temporal Motion Vector Predictors are used to increase the possibility of obtaining a predictor to achieve better performance. However, when a derived MVP is the same as the previous derived MVP, the derived MVP in question does not offer any potential to further increase coding efficiency. Likewise, in HM-3.0 (Test Model HEVC version 3.0), the MVP process incorporates redundancy checking during spatial and temporal MVP derivation. Although the redundancy check adopted by HM-3.0 demonstrates some increase in efficiency, it is desirable to extend the redundancy check to further increase system performance. BRIEF SUMMARY OF THE INVENTION A method and apparatus for deriving a motion vector predictor (MVP) for a MV of a current block in Merge, Inter, or Skip mode are described. In an embodiment according to the present invention, the apparatus and method of deriving a motion vector predictor (MVP) for a MV of a current block in Inter or Merge or Skip mode comprises: receiving motion vectors (MVs) associated with reference blocks of the current block, where the reference blocks comprise at least one neighboring reference block of the current block; determining a spatial search set, where the spatial search set comprises at least two spatial search VMs with spatial priorities for the at least one neighboring reference block, wherein said at least two spatial search VMs for the at least one neighbor reference blocks are configured in spatial search VM group, and where each of the spatial search VM groups consists of at least one of said two spatial search VMs for the at least one neighboring reference block; determining whether there is a first spatial VM available for each of the spatial search VM groups according to a spatial search order for the spatial search VM groups, wherein said determining whether there is a first available spatial VM moves to a next group of spatial research VMs if there is no first space VM available; and providing the first available spatial MV as a spatial MVP for the current block. The first available spatial MV is redundant if the first available spatial MV is the same as a previous spatial MVP derived from neighboring reference blocks on the left side of the current block. The configuration aspect of the neighboring reference block is the object of this invention. In one embodiment, neighboring reference blocks comprise a far right block at the top, a corner block at the top left, and a corner block at the top right of the current block in Inter, Skip, or Merge mode, and where the order of Spatial search for neighboring reference blocks is right to left. In another embodiment, the neighboring reference blocks comprise a far left block at the top and a corner block at the top right of the current block in Inter, Merge or Skip mode, and where the spatial search order for neighboring reference blocks it is from the upper right corner block to the far left upper block. In yet another embodiment according to the present invention, the apparatus and method of deriving a predicted motion vector (MVP) for a MV of a current block in Inter or Merge or Si mode comprises receiving motion vectors ( But) associated with reference blocks of the current block, where the reference blocks comprise one or more co-located reference blocks of the current block; determining a temporal search set, where the temporal search set comprises at least two temporal search VMs with temporal priorities for each of said one or more co-located reference blocks, where said at least two search VMs temporal search VMs for said one or more co-located reference blocks are configured into temporal search VM groups, and where each of the temporal search VM groups consists of one of said at least two temporal search VMs of said one or plus co-located reference blocks, all said at least two temporal search VMs for each of said one or more co-located reference blocks, or said at least two temporal search VMs have the same temporal priority for all said one or more co-located reference blocks; determining whether there is a first temporal VM available for each of the temporal search VM groups according to a temporal search order for the temporal search VM groups, wherein said determining whether there is a first available temporal VM shifts to a next group of temporal search VMs if the first available temporal VM does not exist or if the first available temporal VM is redundant; and providing the first available temporal MV as a temporal MVP for the current block. The first available temporal MV is redundant if the first available temporal MV is the same as a previous spatial MVP derived from neighboring reference blocks. In one embodiment, said one or more co-located reference blocks comprise a central co-located block located in the center of the co-located block and a lower right co-located block located transverse from a lower right corner of the co-located block. -located. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates the spatial MVP derivation process from neighboring upper blocks to Inter mode according to HM-3.0, where candidates based on AMVP are used. Fig. 2 illustrates the temporal MVP derivation process from the co-located blocks for Inter mode according to HM-3.0, where candidates based on AMVP are used. Fig. 3 illustrates the temporal MVP derivation process from co-located blocks for Skip and Merge modes according to HM-3.0, where Merge-based candidates are used. Fig. 4 illustrates the process of deriving spatial MVP from neighboring upper blocks to Inter mode incorporating an embodiment according to the present invention, where the redundancy check is invoked each time a derived MV is available. Fig. 5 illustrates the temporal MVP derivation process from the co-located blocks for Inter mode incorporating an embodiment according to the present invention, where the redundancy check is invoked each time a derived MV is available. Fig. 6 illustrates the process of deriving spatial MVP from neighboring upper blocks to Inter mode incorporating an embodiment according to the present invention, where the redundancy check is invoked each time all VMs search for one block are searched and a derived MV is available. Fig. 7 illustrates the process of deriving temporal MVP from co-located blocks for Inter, Skip and Merge modes incorporating an embodiment according to the present invention, where the redundancy check is invoked each time all Search VMs for a block are searched and a derived VM is available. Fig. 8 illustrates the process of deriving the upper spatial MVP from neighboring upper blocks for Inter mode incorporating an embodiment according to the present invention, where the redundancy check is invoked each time VMs associated with a priority for different blocks are searched and a derived MV is available. Fig. 9 illustrates the temporal MVP derivation process from co-located blocks for Inter, Skip and Merge modes incorporating an embodiment according to the present invention, where the redundancy check is invoked each time associated VMs with a priority for different blocks are searched and a derived MV is available. Fig. 10 illustrates the upper spatial MVP derivation process from neighboring upper blocks for Inter mode incorporating an embodiment according to the present invention, where the redundancy check is disabled for the upper spatial MVP derivation process. DETAILED DESCRIPTION OF THE INVENTION In a video coding system, spatial and temporal redundancy is exploited using spatial and temporal prediction to reduce the bit rate to the bit rate to be transmitted or stored. Spatial prediction uses decoded pixels from the same frame to form the prediction for the actual pixels to be encoded. Spatial prediction is often operated on a block-by-block basis, such as 16x16 or 4x4 block to luminance signal in H.264/AVC Intra encoding. In video sequences, neighboring frames often have great similarities, and Motion Compensated Prediction (MCP) is often used to exploit temporal correlation in video sequences. Compensated motion prediction can be used in an early prediction manner, where a current frame is predicted using a decoded frame or frames that are earlier than the current frame in the order of presentation. In addition to early prediction, later prediction can also be used to increase the performance of motion compensated prediction. Later prediction uses a decoded frame or frames later than the current frame in the order of presentation. Since the first version of H.264/AVC was finished in 2003, early prediction and later prediction were extended to prediction list 0 and prediction list 1, respectively, where both list 0 and list 1 can contain multiple reference frames before or/and after the current frame in the order of presentation. The following describes the default frame list configuration. For list 0, reference frames prior to the current frame have lower frame indices than the current frame. For List 1, reference frames after the current frame have lower frame indices than those before the current frame. For both list 0 and list 1, after applying the previous rules, the temporal distance is considered as follows: a frame of reference closer to the current frame has a lower index of the frame of reference. When a block of frame co-located in list 0 or list 1 has the same location as the current block in the current frame, it is called a co-located block of list 0 or list 1, or called a co-located block of list 0 or list 1. For the high efficiency video coding standard (HEVC) under development, the unit for motion estimation/compensation mode is called the Prediction Unit (PU), where the PU is hierarchically partitioned from a maximum block size. MCP type is selected for each slice in H.264/AVC standard. A slice that the motion compensated prediction is restricted to list 0 prediction is called a P slice. For a B slice, motion compensated prediction also includes list 1 prediction in addition to list 0 prediction. In video encoding systems, motion vectors (MVs) and encoded residues are transmitted to a decoder for video reconstruction in the decoder. Furthermore, in a system with a flexible frame of reference, information associated with the selected frames of reference may need to be transmitted as well. Motion vector transmission can require a considerable portion of the overall bandwidth, particularly in low bit rate applications or in systems where motion vectors are associated with smaller blocks or higher precision of motion. In order to further reduce the bit rate associated with motion vector, a technique called Motion Vector Prediction (MVP) has been used in the field of video encoding in recent years. In this report, MVP can also refer to the Motion Vector Predictor and the abbreviation is used when there is no ambiguity. The MVP technique exploits the statistical redundancy between spatially and temporally neighboring motion vectors. When MVP is used, a predictor for the current motion vector is chosen and the residual of the motion vector, that is, the difference between the motion vector and the predictor, is transmitted. The motion vector residual is also called the motion vector difference (MVD). The MVP scheme can be applied in a closed-loop arrangement where the predictor is derived at the decoder based on the decoded information and no additional side information needs to be transmitted. Alternatively, side information can be explicitly transmitted in the bitstream to inform the decoder regarding the selected motion vector predictor. For Inter mode in HEVC Test Model version 3.0 (HM-3.0), two spatial motion vector predictors (MVPs) and one temporal MVP are included in the candidate set of MVPs. For Skip mode (with zero motion vector differences and zero prediction residuals) and Merge mode (with zero motion vector differences) in the current HM, four spatial MVPs and one temporal MVP are included in the candidate set of MVPs. In HM-3.0, the encoder selects a final MVP within the candidate set of MVPs for Inter, Skip and Merge modes and transmits the index of the selected MVP to the decoder. For Inter mode, the reference frame index is explicitly transmitted to the decoder. For Skip mode and Merge mode, the reference frame index is equal to the reference frame index of the selected neighboring block when a spatial MVP is selected as the final MVP, and the reference index is always the set to be the largest. of frame indices of neighboring blocks when a temporal MVP is selected as the final MVP. Fig. 1 illustrates the process of deriving an MVP from a candidate set of MVPs used in HM-3.0 for Inter mode (using candidates based on AMVP) including two spatial MVPs and one temporal MVP. The order of search for MVPs is as follows: 1. Left MVP (first available from Ao and Aj), 2. Upper MVP (first available from Bo, Bi and B2), and 3. Temporal MVP (first available from Bo, Bi and B2) of TRB and TCT). As shown in Fig. 1, the left MVP is derived based on two neighboring blocks (Ao and Ai) on the left side of the current block and the search order is from bottom to top (from Ao to Aj). The top MVP is derived based on three neighboring blocks (Bo, B] and B2) at the top of the current block and the search order is from right to left (Bo to B2). Neighboring blocks like the left blocks (Ao to Ai) and the upper blocks (Bo to B2) are called reference blocks in this report. Since these spatial blocks are used to derive spatial MVP, these blocks are also called neighboring reference blocks in this report. Neighboring reference blocks can be appropriately selected from the blocks surrounding the current block to derive the spatial MVP or MVPs. With a target frame of reference indicated by a given frame of reference index of a given frame list, a spatial MVP is defined as the first available MV pointing to the target frame of reference within the given frame list. Since the first available VM is used as a spatial MVP in this case, the first available VM is also called the first available spatial VM. If all neighboring blocks do not have any MV pointing to the target reference frame within the given reference frame list, the MVP will be derived as a scaled MV based on the first available MV within the given reference frame list or within another frame of reference list. In HM-3.0, the upper MVP lead also includes redundancy checking to determine if the second MVP is equal to the first MVP (MVP from the left) to increase the possibility of obtaining non-redundant MVPs. The search order for the spatial MVP is illustrated by the solid and dashed arrows as shown in Fig. 1. For the top MVP, the VMs with the 1st priority (marked as 1 circled) from BQ to B2 are searched first, which is illustrated by the solid arrow. When an available MV at priority 1 is found, the available MV is checked to determine if the available MV is the same as the left MVP. If it is the same as 0 MVP left, the next position will be searched; instead, the available MV will be used as the top MVP. If no search VMs with 1st priority are available or the available MV associated with 1st priority is the same as 0 left MVP, search VMs with 2nd, 3rd and 4th priorities will be searched with a search order of block Bo for block B2, as shown by the dashed arrows in Fig. 1. Once the first available MV is found with any of the 2nd, 3rd, and 4th priorities in Bo, the first available MV is checked to determine if the first available MV is the same as the previously derived MVP, that is, the left MVP. If the first available MV is the same as the left MVP, the next position will be searched; instead, the first available MV will be selected as the top MVP. In the example in Fig. 1, several motion vectors associated with a neighboring reference block are checked to determine if any MVs exist. The various motion vectors associated with the neighboring reference block include a MV pointing to a target reference frame in a given reference list, a MV pointing to the target reference frame in another reference list, a MV pointing to other frames of reference in the given reference list, and a VM pointing to the other reference frames in the other reference list. These various motion vectors associated with a neighboring reference block are called lookup VMs for the neighboring reference block in this report. Furthermore, since these various motion vectors are used to derive the spatial MVP, these search VMs are also called spatial search VMs associated with the neighboring reference block in this report. As mentioned above, spatial search VMs present respective search priorities, called spatial priorities in this report. The spatial search VMs of all neighboring reference blocks are called a spatial search set in this report. As shown in Fig. 1, the search for a spatial MVP will scan each VM in the spatial search set according to a search order indicated by solid and dashed lines. Since the search order is used to find a spatial MVP in this case, the search order is also called the spatial search order in this report. Fig. 1 also illustrates that a redundancy check is performed after each priority 1st spatial search VM has been searched and the search MV exists. After the search of 1st priority spatial search VMs operates all reference blocks, the search scans the 2nd priority to 4th priority search VMs for each of the neighboring reference blocks BQ to B2. A redundancy check is performed after the 2nd priority to 4th priority search VMs have been searched and a first available spatial VM exists. As shown in Fig. 1, the redundancy check can be performed after each search VM has been scanned or a group of multiple spatial search VMs has been scanned. For convenience, the set of spatial search VMs on which the scan is applied and the redundancy check is applied later is called the search VM group in this report. Likewise, a group of search VMs can consist of just one spatial search VM (eg 1st priority spatial search VM in the example in Fig. 1) or multiple spatial search VMs (eg search VMs from 2nd priority to 4th priority in the example in Fig. 1). The order of spatial search between reference blocks neighboring to the blocks at the top always goes from right to left. In other words, block Bo has the highest priority and B2 the lowest priority among neighboring reference blocks. In HM-3.0, the temporal MVP is searched after the spatial MVP is determined. Fig. 2 illustrates the temporal MVP derivation process. The temporal MVP is derived based on the VMs associated with the co-located reference blocks TCT and TRB. The TRB block is adjacent to the lower right corner of the co-located block. The TCT block is found by mapping the center position of the current PU to the corresponding position in the co-located frame. If there is a MV associated with the TRB block, it will be used for the derivation of the temporal MVP; instead, the VMs associated with the TCT will be searched. Temporal MVP is derived using MV list 0 or MV list 1 of the corresponding position in the co-located frame. Temporal MVP is defined as the first available MV that spans the current frame, where the current frame is temporally between two frames associated with the first available MV. If both motion vectors intersect the current frame, or if both do not, the one whose reference frame list is the same as the given reference frame list will be selected; if this corresponding position does not have a motion vector within the reference frame list as the given reference frame list, the motion vector within another reference frame list will be selected. The motion vector will be scaled according to time distances. The scaling factor is based on the ratio of the temporal distance between the current frame and the given reference frame for the current block and the temporal distance between the co-located frame and the reference frame associated with the MV of the corresponding position in the co frame. -located. In the example of Fig. 2, several motion vectors associated with a co-located reference block are checked to determine if there are any MVs. The various motion vectors associated with the co-located reference block include a corresponding position MV in the co-located frame that traverses the current frame, a corresponding position MV in the co-located frame within the given reference frame list, and an MV of the corresponding position in the frame co-located within the reference frame list other than the given reference frame list. These various motion vectors associated with a co-located reference block are called lookup VMs for the co-located reference block in this report. Furthermore, since these various motion vectors are used to derive the temporal MVP, these VMs are also called temporal search VMs for the co-located reference block in this report. As mentioned above, temporal search VMs have respective search priorities, called temporal priorities in this report. The temporal search VMs of all co-located reference blocks are called a temporal search set in this report. As shown in Fig. 2, the search for a temporal MVP will scan each MV in the temporal search set according to a search order indicated by a solid line. Since the search order is used to find a temporal MVP in this case, the search order is called the temporal search order in this report. When a research VM exists, the research VM is called the first available temporal VM. Once all MVPs have been found, the redundant MVPs are removed from the candidate set of MVPs before encoding the best MVP index. In the current HM (version 3.0), if a block is coded as Merge mode, an MVP index is signaled to indicate which MVP from the candidate set of MVPs is used for this block to be combined. Fig. 3 illustrates the MVP derivation process of a candidate set of MVPs including four spatial MVPs and one temporal MVP. The search order of MVPs is as follows: 1. Left MVP (Am), 2. Upper MVP (Bn), 3. Temporal MVP (first available between TRB and TCT), 4. Upper right MVP (Bo), and 5. Lower left MVP (Ao) For spatial MVPs in Merge mode, the frame of reference index will be the same as that of the selected block. For example, if block Am is selected, the MV and frame index of block Am are used for the current PU. If the selected block uses dual prediction with two MVs, the two MVs and their frame of reference are used for the current PU with double prediction. As shown in Fig. 3, the temporal MVP in Skip and Merge modes is derived using MV list 0 or MV list 1 of the TRB and TCT blocks in the co-located frame. Temporal MVP is defined as the first available MV that crosses the current frame. If both motion vectors intersect the current frame, or both do not intersect, the one whose reference frame list is the same as the given reference frame list will be selected if available, unlike the one whose reference frame list is another other than the given list of frame of reference will be selected. The motion vector will be scaled according to time distances. The temporal search order and temporal search VMs are the same as those for Inter mode shown in Fig. 2. Nevertheless, a different temporal search order and temporal search VMs can be used for Skip and Merge modes . After all MVPs have been found, redundant MVPs are removed from the candidate set of MVPs before encoding the best MVP index. When a currently available MV selected as an MVP is the same as a previously selected MVP, the currently available MV does not present any potential to further increase coding efficiency. The benefit of the redundancy check becomes clear. The current HM-3.0 incorporates redundancy checking for the spatial MVP derivation from the upper MVP. The 1st priority VMs are checked from block Bo to B2 and the redundancy check is performed each time an available VM is found as shown in Fig. 1. If no available VM other than the same as a previously selected MVP is found , after the Istpriority MV for B2 is selected, the process continues to search VMs with other priorities for each of the upper blocks as shown in Fig. 1. Again, the redundancy check is performed each time an available VM is found for the upper block as shown in Fig. 1. Likewise, in the present invention, the redundancy check is modified to further increase the chance of derivation of different MVPs. In one embodiment according to the present invention, a redundant MVP check procedure for MVP derivation is evoked after the spatial MVP and at least one other MVP are derived in order to increase the possibility of obtaining non-redundant candidate MVPs. Said other MVP may be another spatial MVP derived from another spatial search set, or a temporal MVP. The redundancy check according to the present invention can be applied to the derivation of spatial MVP and/or temporal MVP. Also redundancy check can be applied to MVP bypass for Inter, Skip and Merge modes. When a derived MV provides the same motion information, such as motion vectors, inter prediction indicators (ie, single prediction or double prediction), and frame indices, as a previously derived MVP, 0 derived MV is considered. as redundant and the derivation process continues to the next step. Fig. 4 illustrates a typical spatial MVP tap with redundancy check embodying an embodiment of the present invention. The search order in Fig. 4 is the same as the search order in Fig. 1. However, the MVP derivation of Fig. 4 illustrates that the redundancy check is performed each time an available search MV is found. If there is no search VM, there is no need to perform a redundancy check. Since the redundancy check is performed after each spatial search VM of each neighboring reference block has been searched, the search VM group consists of a single spatial search VM in this example. Fig. 5 illustrates a typical temporal MVP tap with redundancy check embodying an embodiment of the present invention. The search order in Fig. 5 is the same as the search order in Fig. 2. However, the MVP derivation of Fig. 5 illustrates that the redundancy check is performed each time an available search MV is found. If there is no search VM, there is no need to perform a redundancy check. Again, since the redundancy check is performed after a temporal search VM of each co-located reference block has been searched, the search VM group of a single temporal search VM in this example. In another MVP derivation process incorporating an embodiment of the present invention, the redundant MVP check can be invoked whenever all search VMs for each reference block have been searched. Fig. 6 illustrates an example of spatial MVP derivation that checks redundancy after all search VMs for each upper block have been searched. For example, search VMs having 1st priority through 4th priority are searched first for block Bo. After all search VMs for the BQ block have been searched, the redundancy check is performed if an available search VM is found for the block. If a search MV is available and the available search MV is not the same as a previously derived MVP, the search MV is accepted as the spatial MVP and the spatial MVP derivation ends. If a search MV is available and the available search MV is the same as a previously derived MVP, the spatial MVP derivation process moves to the next spatial reference block. If there is no search MV available for the block, there is no need for redundancy check and the spatial MVP derivation process moves to the next spatial reference block. The same process is repeated for block B1 and then for block B2. Since the redundancy check is performed after the 1st priority to 4th priority search VMs have been searched, the spatial search VM group consists of the 1st priority to the 4th priority in this example. Also the spatial search order searches from block Bo to B2. In other words, block Bo has a higher search priority than block Bi, and block Bi has a higher priority search than block B2. Fig. 7 illustrates an example of temporal MVP derivation that checks redundancy after all MVs for each temporal block have been searched. After all search VMs for the TRB block have been searched, the redundancy check is performed to determine if an available search MV is found for the block. If an available search MV is found and the available search MV is not the same as a previously derived MVP, the search MV is accepted as the temporal MVP and the temporal MVP derivation ends. Instead, the temporal MVP derivation will move to the next temporal reference block. If there is no lookup MV for the block, there is no need for redundancy check and the temporal derivation process moves to the next temporal block. After the TRB block has been processed, the same process is repeated for the TCT block. Since the redundancy check is performed after 1st priority to 3rd priority search VMs have been searched, the temporal search VM group consists of 1st priority to 3rd priority in this example. In yet another MVP derivation process incorporating an embodiment of the present invention, the redundant MVP check can be invoked always after searching all VMs of the same priority for different reference blocks. Fig. 8 illustrates an example of spatial MVP derivation that checks redundancy after all search MVs of the same priority for different upper blocks have been searched. For example, priority 1st VMs for blocks Bo through B2 are searched first. The redundancy check is performed if an available search VM is found for the 1st priority VMs of blocks Bo to B2. If an available search MV is found and the available search MV is not 0 same as a previously derived MPV, the search MV is accepted as the spatial MVP and the spatial MVP derivation ends. If an available search MV is found and the available search MV is the same as a previously derived MVP, the spatial MVP derivation shifts to the next priority of MVs for blocks Bo to B2. If no search MV available for the 1st priority VMs of blocks Bo to B2 is found, there is no need for redundancy check and the spatial MVP derivation moves to the next priority of VMs for blocks Bo to B2. The same process is repeated for the 2nd priority VMs, 3rd priority VMs and then for the 4th priority VMs. Since the redundancy check is performed after the spatial search VMs with the same priority for all spatial reference blocks have been searched, the spatial search VM group consists of the spatial search VMs with the same priority of all the spatial reference blocks in this case. Fig. 9 illustrates an example of temporal MVP derivation that checks redundancy after all MVs of the same priority have been searched for different co-located reference blocks. For example, the 1st priority VMs for the TRB and TCT blocks are searched first. Redundancy check is performed to determine if an available search MV is found for the 1st priority VMs of TRB and TCT blocks - If an available search MV is found and the search MV is not the same as a previously MPV derivative, the search MV is accepted as the temporal MVP and the temporal MVP derivation ends. If an available search MV is found and the search MV is the same as a previously derived MVP, the temporal MVP derivation moves to the next priority of MVs for TRB and TCT blocks - If no search MV is found available for the 1st priority MVs of the TRB and TCT blocks, there is no need for redundancy check and the temporal MVP derivation moves to the next priority of MVs for the TRB and TCT blocks - The same process is repeated for the MVs of 2nd priority and then for the 3rd priority MVs. The Redundant MVP verification procedure can be disabled when deriving an MVP. Fig. 10 illustrates an example incorporating an embodiment of the present invention in which no redundant MVP check procedure is invoked during the derivation of the upper MVP to Inter mode. The left MVP is the first available within the left reference blocks (ie Ao and Ai), and the top MVP is also the first available within the top reference blocks (ie Bo, Bi and B2) . The redundancy check process is performed after the spatial left MVP and the spatial top MVP are derived. In this way, the search process of the spatial left MVP and the spatial superior MVP can be performed in parallel. Furthermore, the redundancy check process can be performed after the spatial left MVP, the spatial top MVP, and the temporal MVP are derived. MVP derivation realizations according to the present invention as described above can be implemented in various equipment, program codes, or a combination of both. For example, an embodiment of the present invention may be an integrated circuit in a video compression chip or program codes embedded in video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed in a Digital Signal Processor ("DSP") to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate arrays (FPGA). These processors can be configured to perform particular tasks in accordance with the invention by executing machine-readable program code or firmware code that defines the particular methods embodied by the invention. Program code or firmware code can be developed in different programming languages and different formats or styles. Program code can also be compiled for different target platforms. However, different formats, styles and languages of program code and other means of configuration codes to carry out the tasks according to the invention do not depart from the spirit and scope of the invention. The invention can be carried out in other specific forms without departing from its spirit or essential characteristics. The examples described are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is thus indicated by the appended claims rather than the above description. All changes that fall within the meaning and equivalence range of the claims shall be considered to fall within their scope.
权利要求:
Claims (21) [0001] 1. Method for deriving a motion vector (MVP) predictor to a motion vector (MV) of a current block in Inter or Merge or Skip mode, the method being executed by a processor and characterized in that it comprises: - receiving motion vectors (MVs) associated with reference blocks of the current block, where the reference blocks comprise at least one neighboring reference block of the current block; - determining at least one first spatial search MV associated with a first search order MV and at least one second spatial search MV associated with a second search order MV for each neighboring reference block; - determining whether a first available space search MV first exists for said at least one neighboring reference block according to the first search order MV, and when the first available space search MV first exists for said at least one block neighbor reference, providing the first available spatial search MV first as a spatial MVP for the current block; and - determining whether the second available first spatial search MV exists for said at least one neighboring reference block according to the second search order MV only if none of the first spatial search MVs for said at least one reference block neighbor is available; in which a redundancy check process is performed after. [0002] 2. Method according to claim 1, characterized in that when the second available spatial search MV is determined to exist for said neighboring reference block, it provides the second available spatial search MV as the spatial MVP for the current block. [0003] 3. Method according to claim 1, characterized in that said at least one neighboring reference block corresponds to a spatial block search order. [0004] 4. Method according to claim 3, characterized in that at least one neighboring reference block corresponds to a block on the far right of the upper side, an upper left corner block and an upper right corner block of the current block in mode Inter, Skip or Merge, and where the spatial search order for the referenced at least one neighboring reference block is right to left. [0005] 5. Method according to claim 3, characterized in that at least one neighboring reference block corresponds to a lower block on the left side, a lower left corner block of the current block in Inter, Merge or Skip mode, and where the spatial search order for said at least one neighboring reference block is from the lower left corner block to the lower block. [0006] 6. Method according to claim 3, characterized in that said at least a first spatial search MV for each neighboring reference block comprises a first spatial search MV pointing to a target reference image in a given reference list and a second spatial search MV pointing to the target reference image in another reference list where the first spatial search VM has a higher priority than the second spatial search MV in the first search order MV. [0007] 7. The method of claim 6, wherein said determining whether the first available spatial search MV first exists for said at least one neighboring reference block comprises searching said at least one neighboring reference block to from a neighboring reference block with a higher priority to a neighboring reference block with a lower priority based on the spatial block search order, where during the search of each neighboring reference block, the first MV search is searched before the second MV search. [0008] 8. Method according to claim 3, characterized in that said at least one second spatial search MV for each neighboring reference block comprises a first search MV pointing to another reference image in the given reference list and a second search MV pointing to the other reference image in the other reference list, where the first search MV has a higher priority than the second search MV in the second search order MV. [0009] 9. The method of claim 8, wherein said determining whether the second available spatial search MV exists for said at least one neighboring reference block comprises searching said at least one reference block neighbor from a neighboring reference block with a higher priority to a neighboring reference block with a lower priority based on the spatial block search order, where during the search of each neighboring reference block, the first search MV is searched before the second MV search. [0010] 10. Method according to claim 1, characterized in that whether the first available spatial search MV first exists for said at least one neighboring reference block is determined without redundancy checking. [0011] 11. Method according to claim 1, characterized in that whether the first available second spatial search MV exists for said at least one neighboring reference block is determined without redundancy checking. [0012] 12. Method according to claim 3, characterized in that whether the first available spatial search MV exists for said at least one neighboring reference block is further determined according to the spatial block search order; and whether the second available first spatial search MV exists for said at least one neighboring reference block is further determined in accordance with the spatial block search order. [0013] 13. Method according to claim 12, characterized in that between two first spatial search MVs associated with the same priority in the first search order MV for two neighboring reference blocks, a search MV of said two first MVs of Spatial search for one of said two neighboring reference blocks with a higher priority in the spatial block search is searched before a MV search of said first two spatial search MVs for one of said two neighboring reference blocks with a lower priority in space block search order. [0014] 14. Method according to claim 12, characterized in that all first spatial search VMs for a neighboring reference block with a higher priority in the spatial block search order are searched before all first search VMs to a neighboring reference block with a lower priority in the spatial search order. [0015] 15. Method according to claim 12, characterized in that between two second spatial search MVs associated with the same priority in the second search order MV for two neighboring reference blocks, a search MV of said two second MVs of Spatial search for one of said two neighboring reference blocks with a higher priority in the spatial block search is searched before a MV search of said two second spatial search MVs for one of said neighboring reference blocks with a lower priority in the space block search order. [0016] 16. Apparatus for deriving a motion vector predictor (MVP) for a motion vector (MV) of a current block in Inter or Merge or Skip mode, characterized in that it comprises: - means for receiving motion vectors ( MVs) associated with reference blocks of the current block, where the reference blocks comprise at least one neighboring reference block of the current block; - means for determining a spatial search set, wherein the spatial search set comprises at least two spatial search VMs with spatial priorities for the at least one neighboring reference block, wherein said at least two spatial search VMs for the at least one neighboring reference block are configured into spatial search VM groups, and where each of the spatial search VM groups consists of at least one of said at least two spatial search VMs for the at least one spatial search block. neighbor reference; - means for determining whether there is a first spatial VM available for each of the spatial search VM groups according to a spatial search order for the spatial search VM groups, wherein said determining whether there is a first VM available spatial moves to the next group of spatial search VMs if the first available spatial VM does not exist; and - means for providing the first available spatial MV as a spatial MVP for the current block; - in which a redundancy check procedure is performed after the spatial MVP and at least one other MVP are derived. [0017] 17. Method according to claim 12, characterized in that every second spatial search MVs for a neighboring reference block with a higher priority in the spatial block search order are searched before every second search MVs to a neighboring reference block with a lower priority in the spatial block search order. [0018] 18. Method according to claim 1, characterized in that the reference blocks comprise one or more reference blocks co-located from the current block, the method further comprising: - determining at least two temporal search MVs associated with a temporal MV search order for each co-located reference block; - determining whether a first available temporal search MV exists for said at least one co-located reference block according to the temporal MV search order and a temporal block search order associated with at least one col-reference block. located; - when the first available temporal search MV exists for at least one co-located reference block, providing the first available temporal search MV as a temporal MVP for the current block. [0019] 19. Method according to claim 18, characterized in that said at least one co-located reference block comprises a central co-located reference block located in the center of the co-located block and a lower co-located reference block right located in front of a lower right corner of the co-located block. [0020] 20. Method according to claim 18, characterized in that between two temporal search VMs associated with the same priority in the temporal MV search order for two co-located reference blocks, a search MV of said two VMs of temporal search for one of said two co-located reference blocks with a higher priority in temporal block search order is searched before a search MV of said two temporal search MVs for one of said two co-reference blocks located with a lower priority in the temporal block search order. [0021] 21. Method according to claim 18, characterized in that all temporal search VMs for a co-located reference block with a higher priority in the temporal block search order are searched before all search VMs temporal for a co-located reference block with a lower priority in the temporal block search order.
类似技术:
公开号 | 公开日 | 专利标题 BR112013022522B1|2021-08-31|Method and apparatus for motion vector candidate derivation and motion vector candidate prediction US10097850B2|2018-10-09|Method and apparatus for removing redundancy in motion vector predictors BR112013007057B1|2022-01-04|METHODS AND APPARATUS TO DERIVE MOTION VECTOR PREDICTOR OR CANDIDATE MOTION VECTOR PREDICTOR FOR CODING OR DECODING A MOTION VECTOR OF A PU | CURRENT IN AN IMAGE BR112013012832B1|2021-08-31|Spatial motion vector prediction method and apparatus CN107105286B|2020-01-21|Method and apparatus for deriving motion vector predictor BR112019025566A2|2020-06-23|MOTION VECTOR PREDICTION CN107770524B|2020-11-06|Video coding and decoding processing method and device BR122020002133A2|2020-12-01|VIDEO DECODING AU2010265451B2|2014-06-19|Method, apparatus and device for obtaining video image motion information and template construction method BR112012025275B1|2021-08-03|METHOD FOR PERFORMING MULTIPLE HYPOTHESIS PREDICTION LOCATED DURING VIDEO ENCODING OF AN ENCODING UNIT AND ASSOCIATED APPARATUS BR112012027263B1|2021-08-17|METHODS AND APPARATUS FOR DERIVING A TEMPORAL MOTION VECTOR PREDICTOR BR112021012638A2|2021-09-14|DECODING DEVICE, ENCODING DEVICE AND RELATED METHODS BR122015021370A2|2019-08-27|method of decoding an image BR122020003111B1|2021-05-11|video encoding and decoding apparatus, video encoding and decoding methods MX2013009890A|2013-10-30|Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate. BR112020023571A2|2021-02-09|video encoding method and apparatus using bidirectional cu weighting BR112021009558A2|2021-08-17|simplification of history-based motion vector prediction BR112019027261A2|2020-07-14|motion vector refinement for multi-reference prediction TW201820872A|2018-06-01|Method and apparatus of merge mode derivation for video coding US20200014931A1|2020-01-09|Methods and Apparatuses of Generating an Average Candidate for Inter Picture Prediction in Video Coding Systems BR112019028012A2|2020-07-07|device and method for determining a motion vector, video encoder and decoder to encode and decode a plurality of photos BR112020015246A2|2021-01-26|accessible hardware restricted motion vector refinement BR112021000698A2|2021-04-13|MIXING CANDIDATES WITH MULTIPLE HYPOTHESES BR112020003938A2|2020-09-08|motion compensation at a finer precision than the motion vector differential BR112019028035A2|2020-07-07|"device for determining a prediction of a current block, video decoder and encoder, and method for determining a prediction of a current block
同族专利:
公开号 | 公开日 CN103583047A|2014-02-12| EP2687014A1|2014-01-22| BR112013022522A2|2020-06-02| US20160173905A1|2016-06-16| CN103583047B|2017-03-29| US9307239B2|2016-04-05| EP2687014A4|2014-12-24| US20130243098A1|2013-09-19| JP2014501471A|2014-01-20| IL226868A|2018-04-30| WO2012122927A1|2012-09-20| JP5808427B2|2015-11-10| US9860552B2|2018-01-02| IL258590A|2018-12-31| EP2687014B1|2021-03-10|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPH10327415A|1997-05-22|1998-12-08|Mitsubishi Electric Corp|Motion vector detector| AU3027301A|2000-01-21|2001-07-31|Nokia Mobile Phones Ltd|A motion estimation method and a system for a video coder| US7643559B2|2001-09-14|2010-01-05|Ntt Docomo, Inc.|Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program| KR100441509B1|2002-02-25|2004-07-23|삼성전자주식회사|Apparatus and method for transformation of scanning format| US7817717B2|2002-06-18|2010-10-19|Qualcomm Incorporated|Motion estimation techniques for video encoding| US8107535B2|2003-06-10|2012-01-31|Rensselaer Polytechnic Institute |Method and apparatus for scalable motion vector coding| US7653133B2|2003-06-10|2010-01-26|Rensselaer Polytechnic Institute |Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders| US20040258154A1|2003-06-19|2004-12-23|Microsoft Corporation|System and method for multi-stage predictive motion estimation| US7499493B2|2003-06-20|2009-03-03|Lsi Corporation|Dual block motion vector storage in compressed form| KR100587561B1|2004-04-08|2006-06-08|삼성전자주식회사|Method and apparatus for implementing motion scalability| US8913660B2|2005-04-14|2014-12-16|Fastvdo, Llc|Device and method for fast block-matching motion estimation in video encoders| JP5020829B2|2005-12-27|2012-09-05|シャープ株式会社|Moving picture decoding apparatus and moving picture encoding apparatus| CN101031088A|2006-02-28|2007-09-05|展讯通信(上海)有限公司|Fast cross-movement estimation for realizing video encoder| US8358693B2|2006-07-14|2013-01-22|Microsoft Corporation|Encoding visual data with computation scheduling and allocation| CN100548049C|2007-01-09|2009-10-07|浙江大学|A kind of method of the H.264 fast motion estimation based on multi-reference frame| CN101647279A|2007-01-24|2010-02-10|Lg电子株式会社|A method and an apparatus for processing a video signal| US8553758B2|2007-03-02|2013-10-08|Sony Corporation|Motion parameter engine for true motion| CN101340578A|2007-07-03|2009-01-07|株式会社日立制作所|Motion vector estimating apparatus, encoder and camera| KR20090094595A|2008-03-03|2009-09-08|삼성전자주식회사|Method and appratus for encoding images using motion prediction by multiple reference, and method and apparatus for decoding images using motion prediction by multiple reference| EP2266318B1|2008-03-19|2020-04-22|Nokia Technologies Oy|Combined motion vector and reference index prediction for video coding| US8917769B2|2009-07-03|2014-12-23|Intel Corporation|Methods and systems to estimate motion based on reconstructed reference frames at a video decoder| US9357228B2|2010-05-27|2016-05-31|The Hong Kong University Of Science And Technology|Motion estimation of images| US9635382B2|2011-01-07|2017-04-25|Texas Instruments Incorporated|Method, system and computer program product for determining a motion vector| US10171813B2|2011-02-24|2019-01-01|Qualcomm Incorporated|Hierarchy of motion prediction video blocks| US8755437B2|2011-03-17|2014-06-17|Mediatek Inc.|Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate|EP2687015A4|2011-03-14|2014-12-17|Mediatek Inc|Method and apparatus for deriving temporal motion vector prediction| CA2975456C|2011-06-27|2019-10-22|Samsung Electronics Co., Ltd.|Encoding and decoding video by providing a predtermined minimum amount of motion information from spatial and temporal prediction units| GB2556695B|2011-09-23|2018-11-14|Kt Corp|Method for inducing a merge candidate block and device using the same| KR101934277B1|2011-11-28|2019-01-04|에스케이텔레콤 주식회사|Video Coding Method and Apparatus using Improved Merge| US20150016530A1|2011-12-19|2015-01-15|James M. Holland|Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation| US20130343459A1|2012-06-22|2013-12-26|Nokia Corporation|Method and apparatus for video coding| CN104301734B|2013-07-15|2017-11-17|华为技术有限公司|The method and apparatus for handling image| WO2015124110A1|2014-02-21|2015-08-27|Mediatek Singapore Pte. Ltd.|Method of video coding using prediction based on intra picture block copy| EP3205109A4|2014-12-09|2018-03-07|MediaTek Inc.|Method of motion vector predictor or merge candidate derivation in video coding| KR20180098161A|2017-02-24|2018-09-03|주식회사 케이티|Method and apparatus for processing a video signal| SG11201913272SA|2017-06-30|2020-01-30|Huawei Tech Co Ltd|Search region for motion vector refinement| CN110740330A|2018-10-24|2020-01-31|北京达佳互联信息技术有限公司|Method and device for redundancy check of subblock motion candidates| CN111698506A|2019-03-11|2020-09-22|杭州海康威视数字技术股份有限公司|Motion information candidate list construction method, triangle prediction decoding method and device| CN110475116B|2019-08-19|2021-09-21|北京大学深圳研究生院|Motion vector deriving method and device and electronic equipment|
法律状态:
2020-06-23| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-06-30| B15K| Others concerning applications: alteration of classification|Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/28 , H04N 7/32 Ipc: H04N 19/52 (2014.01), H04N 19/533 (2014.01), H04N | 2020-06-30| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-09-08| B25A| Requested transfer of rights approved|Owner name: HFI INNOVATION, INC. (CN) | 2020-11-10| B25K| Entry of change of name and/or headquarter and transfer of application, patent and certificate of addition of invention: republication|Owner name: HFI INNOVATION INC. (CN) Free format text: RETIFICACAO DO DESPACHO (25.1) ? TRANSFERENCIA DE TITULAR PUBLICADO NA RPI NO 2592, DE 08/09/2020, QUANTO AO ITEM (71) - DEPOSITANTE.ONDE SE LE: HFI INNOVATION, INC.LEIA-SE: HFI INNOVATION INC. | 2021-07-13| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-08-31| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 13/03/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US201161452531P| true| 2011-03-14|2011-03-14| US61/452,531|2011-03-14| US201161453666P| true| 2011-03-17|2011-03-17| US61/453,666|2011-03-17| US201161476425P| true| 2011-04-18|2011-04-18| US61/476,425|2011-04-18| US13/177,808|US8755437B2|2011-03-17|2011-07-07|Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate| US13/177,808|2011-07-07| US13/236,422|US9609346B2|2011-03-14|2011-09-19|Method and apparatus for deriving temporal motion vector prediction| US13/236,422|2011-09-19| PCT/CN2012/072238|WO2012122927A1|2011-03-14|2012-03-13|Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|