Encoder, a decoder and corresponding methods using intra block copy (IBC) dedicated buffer and default value refreshing for luma and chroma component
A method of coding implemented by a decoding device, comprising initializing a dedicated buffer for intra block copy (IBC) referencing, when a current coding tree unit (CTU) to be decoded is a first CTU of a CTU row, determining whether a current block in the current CTU is predicted using IBC mode, obtaining an IBC block vector for the current block when the current block is predicted using IBC mode, and obtaining predicted sample values for the current block, based on reference samples from the dedicated buffer and the IBC block vector for the current block.
1. A method of video coding, implemented by a decoding device, comprising:
initializing reference samples in a dedicated buffer for intra block copy (IBC) to a default value when a current coding tree unit (CTU) to be decoded is the first CTU of a CTU row;
determining that a current block in the current CTU is predicted using an IBC mode;
when the current block is predicted using the IBC mode, obtaining an IBC block vector for the current block;
generating a predicted sample value for the current block based on the dedicated buffer and the IBC block vector for the current block;
obtaining a reconstructed sample value for the current block based on the predicted sample value for the current block; and
updating the dedicated buffer based on the reconstructed sample value for the current block.
2. The method of claim 1 , wherein the default value is −1.
3. A method of video coding, implemented by a decoding device, comprising:
initializing reference samples in a dedicated buffer for an area of a coding tree unit (CTU) to a default value when a current coding block to be decoded is the first coding block in the area of the CTU;
determining that the current coding block in the current CTU is predicted using an intra block copy (IBC) mode;
when the current coding block in the current CTU is predicted using the IBC mode, obtaining an IBC block vector for the current coding block;
generating a predicted sample value for the current coding block based on the dedicated buffer and the IBC block vector for the current coding block;
obtaining a reconstructed sample value for the current block based on the predicted sample value for the current block; and
updating the dedicated buffer based on the reconstructed sample value for the current block.
4. The method of claim 3 , wherein the area of the CTU is a fixed size area.
5. The method of claim 3 , wherein the area of the CTU is a virtual pipeline processing unit (VPDU).
6. The method of claim 3 , wherein a size of the area is 64×64.
7. The method of claim 3 , wherein the default value is −1.
8. A method of video coding, implemented by a decoding device, comprising:
initializing reference samples in a dedicated buffer for intra block copy (IBC) to a default value when a current coding tree unit (CTU) to be decoded is the first CTU or when the current coding block is the first coding block in the current CTU;
determining that the current coding block in the current CTU is predicted using an IBC mode;
when the current coding block is predicted using the IBC mode, obtaining an IBC block vector for the current coding block;
generating a predicted sample value for the current coding block based on the dedicated buffer and the IBC block vector for the current coding block;
obtaining a reconstructed sample value for the current block based on the predicted sample value for the current block; and
updating the dedicated buffer based on the reconstructed sample value for the current block.
9. The method of claim 8 , wherein the default value is −1.
10. A non-transitory computer-readable medium having program code stored thereon which, when executed by one or more processing devices, cause the one or more processing devices to carry out operations comprising:
initializing reference samples in a dedicated buffer for intra block copy (IBC) to a default value when a current coding tree unit (CTU) is the first CTU of a CTU row;
determining that a current block in the current CTU is predicted using an IBC mode;
when the current block is predicted using the IBC mode, obtaining an IBC block vector for the current block;
generating a predicted sample value for the current block based on the dedicated buffer and the IBC block vector for the current block;
obtaining a reconstructed sample value for the current block based on the predicted sample value for the current block;
updating the dedicated buffer based on the reconstructed sample value for the current block.
11. The non-transitory computer-readable medium of claim 10 , wherein the default value is −1.
12. A video decoder, comprising:
one or more processors; and
a non-transitory computer-readable storage medium coupled to the one or more processors and storing instructions for execution by the one or more processors, wherein the instructions, when executed by the one or more processors, configure the video decoder to carry out operations comprising:
initializing reference samples in a dedicated buffer for intra block copy (IBC) to a default value when a current coding tree unit (CTU) is the first CTU of a CTU row;
determining that a current block in the current CTU is predicted using an IBC mode;
when the current block is predicted using the IBC mode, obtaining an IBC block vector for the current block;
generating a predicted sample value for the current block based on the dedicated buffer and the IBC block vector for the current block;
obtaining a reconstructed sample value for the current block based on the predicted sample value for the current block; and
updating the dedicated buffer based on the reconstructed sample value for the current block.
13. The decoder of claim 12 , wherein the default value is −1.