Processing

Please wait...

Settings

Settings

Goto Application

1. US20170054996 - Method of block vector prediction for intra block copy mode coding

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

Claims

1. A method of block vector (BV) prediction for an Intra-block copy mode (IntraBC mode) coded block in a video coding system, the method comprising:
receiving input data associated with a current block in a current picture;
determining a current BV for the current block to locate an Intra reference block in the current picture;
deriving a first BV candidate list and a second BV candidate list from spatially neighboring blocks of the current block, wherein
the first BV candidate list is generated from one or more first neighboring blocks from the spatially neighboring blocks in selected first positions according to a first position-related priority order,
the first BV candidate list is filled by a BV of a first IntraBC mode coded block from the one or more first neighboring blocks,
the second BV candidate list is generated from one or more second neighboring blocks from the spatially neighboring blocks in selected second positions according to a second position-related priority order,
the second BV candidate list is filled by a BV of a first IntraBC mode coded block from the one or more second neighboring blocks, and
the one or more first neighboring blocks and the one or more second neighboring blocks are different from one another;
constructing a third BV candidate list according to the first BV candidate list, the second BV candidate list, and a stored BV for a previously coded block from a memory;
selecting one BV candidate from the third BV candidate list as a BV predictor;
encoding the current BV based on the BV predictor;
signaling an index for identifying the selected BV candidate from the third candidate list; and
encoding the current block using the Intra reference block as a predictor.
2. The method of claim 1, wherein
the one or more first neighboring blocks correspond to a single first spatial neighboring block at a left-bottom (LB) position of the current block,
the first position-related priority order includes the LB position only,
the one or more second neighboring blocks correspond to a single second spatial neighboring block at an above-right (AR) position of the current block, and
the second position-related priority order includes the AR position only.
3. A method of block vector (BV) decoding for an Intra-block copy mode (IntraBC mode) coded block in a video decoder, the method comprising:
receiving a bitstream including coded data for a current picture;
deriving a first BV candidate list and a second BV candidate list from IntraBC-mode-coded, spatially neighboring blocks of a current block, wherein
the first BV candidate list is generated from one or more first neighboring blocks from the IntraBC-mode-coded, spatially neighboring blocks in selected first positions according to a first position-related priority order,
the first BV candidate list is filled by a BV of a first IntraBC mode coded block from the one or more first neighboring blocks,
the second BV candidate list is generated from one or more second neighboring blocks from the IntraBC-mode-coded, spatially neighboring blocks in selected second positions according to a second position-related priority order,
the second BV candidate list is filled by a BV of a first IntraBC mode coded block from the one or more second neighboring blocks, and
the one or more first neighboring blocks and the one or more second neighboring blocks are different from one another;
constructing a third BV candidate list according to the first BV candidate list, the second BV candidate list, and a stored BV for a previously coded block from a memory;
determining an index from the bitstream for selecting a specific BV candidate from third BV candidate list as a BV predictor;
determining a current BV for the current block based on the BV predictor;
determining an Intra reference block in the current picture based on the current BV; and
decoding the current block using the Intra reference block.
4. The method of claim 3, wherein
the one or more first neighboring blocks correspond to a single first spatial neighboring block at a left-bottom (LB) position of the current block,
the first position-related priority order includes the LB position only,
the one or more second neighboring blocks corresponds to a single second spatial neighboring block at an above-right (AR) position of the current block, and
the second position-related priority order includes the AR position only.
5. The method of claim 3, wherein
the one or more first neighboring blocks correspond to two first spatial neighboring blocks at a left-bottom (LB) position and a lower-left (LL) position of the current block,
the first position-related priority order corresponds to the LB position and then the LL position,
the one or more second neighboring blocks correspond to three second neighboring blocks at an above-right (AR) position, an upper-right (UR) position, and an upper-left (UL) position of the current block, and
the second position-related priority order corresponds to the AR position and then the UR position and then the UL position.
6. The method of claim 3, wherein the first BV candidate list is generated before the second BV candidate list is generated.
7. The method of claim 3, wherein
if no available BV candidate is found for the first BV candidate list from the one or more first neighboring blocks in the selected first positions, a first default BV is used for the first BV candidate list, and
if no available BV candidate is found for the second BV candidate list from the one or more second neighboring blocks in the selected second positions, a second default BV is used for the second BV candidate list.
8. The method of claim 7, wherein the first default BV or the second default BV is selected from a group including (0, 0), (−2w, 0), (−w, 0), (0, −2w), and (0, −w), wherein w corresponds to a block width of the current block.
9. The method of claim 3, wherein
if no available BV candidate is found for the first BV candidate list from the one or more first neighboring blocks in the selected first positions, a first substitute BV corresponding to a first previously IntraBC mode coded block is used for the first BV candidate list, and
if no available BV candidate is found for the second BV candidate list from the one or more second neighboring blocks in the selected second positions, a second substitute BV corresponding to a second previously IntraBC mode coded block is used for the second BV candidate list.
10. The method of claim 9, further comprising:
storing the first substitute BV for the first BV candidate list in a first buffer in the memory; and
storing the second substitute BV for the second BV candidate list in a second buffer in the memory.
11. The method of claim 10, wherein the first and second buffers corresponding to the first and second BV candidate lists are initialized using two initial BV values corresponding to (−2w, 0) and (−w, 0), wherein w corresponds to a block width of the current block.
12. The method of claim 3, wherein the third BV candidate list further includes a temporal BV candidate list derived from one or more temporal neighboring blocks of the current block.
13. The method of claim 12, wherein the one or more temporal neighboring blocks correspond to one or more co-located blocks selected from a group including a center (CTR) block, an outer bottom-right (BR) block, an upper-left (UL) block, and an inner bottom-right (BR2) block in a co-located picture of the current picture.
14. The method of claim 3, wherein the constructing the third BV candidate list comprises:
putting BV candidates from at least the first BV candidate list, the second BV candidate list, and the stored BV in a fourth BV candidate list, and
pruning the fourth BV candidate list to remove any redundant BV candidate to become the third BV candidate list.
15. The method of claim 14, wherein a size of the third BV candidate list is at most N, wherein N is an integer greater than one.
16. The method of claim 14, wherein the constructing the third BV candidate list comprises:
if a size of the third BV candidate list is less than N, one or more pre-defined BVs are added to the third BV candidate list, wherein N is an integer greater than one.
17. The method of claim 16, wherein the one or more pre-defined BVs correspond to one or more pre-defined values selected from a group including (0, 0), (−2w, 0), (−w, 0), (−1.5w, 0), (0, −2w), (0, −w), and (0, −1.5w), wherein w corresponds to a block width of the current block.
18. The method of claim 1, wherein
if no available BV candidate is found for the first BV candidate list from the one or more first neighboring blocks in the selected first positions, a first default BV is used for the first BV candidate list, and
if no available BV candidate is found for the second BV candidate list from the one or more second neighboring blocks in the selected second positions, a second default BV is used for the second BV candidate list.
19. The method of claim 18, wherein the first default BV or the second default BV is selected from a group including (0, 0), (−2w, 0), (−w, 0), (0, −2w), and (0, −w), wherein w corresponds to a block width of the current block.
20. The method of claim 1, wherein
if no available BV candidate is found for the first BV candidate list from the one or more first neighboring blocks in the selected first positions, a first substitute BV corresponding to a first previously IntraBC mode coded block is used for the first BV candidate list, and
if no available BV candidate is found for the second BV candidate list from the one or more second neighboring blocks in the selected second positions, a second substitute BV corresponding to a second previously IntraBC mode coded block is used for the second BV candidate list.