Apparatus, method and video decoder for reconstructing occlusion region
AssigneeSamsung Electronics Co., Ltd.
InventorsMichael Slutsky, Yun-Seok Lee
Life of this patent
Estimating the term…
Abstract
A method of processing image data includes detecting a contour between an occlusion region and a non-occlusion region in a motion vector field of input video, generating a first contour and a second contour from the detected contour based on motion vectors of blocks corresponding to the detected contour, and separating the occlusion region into a first occlusion region adjacent to the first contour and a second occlusion region adjacent to the second contour. The method further includes reconstructing motion vectors of the first occlusion region based on motion vectors of the first contour and reconstructing motion vectors of the second occlusion region based on motion vectors of the second contour.
Claims18
An apparatus for reconstructing an occlusion region, comprising:
- a memory having computer readable instructions stored thereon;
- and
- at least one processor configured to execute the computer readable instructions to,
- receive data corresponding to a motion vector field of a video frame,
- detect an occlusion region in the motion vector field, the occlusion region corresponding to a portion of the motion vector field not having motion vectors or having inaccurate motion vectors,
- detect a contour between the detected occlusion region and a non-occlusion region,
- separate the detected contour into a first contour and a second contour based on motion vectors of blocks included in the detected contour,
- separate the detected occlusion region into a first occlusion region and a second occlusion region, the first occlusion region adjacent to the first contour, and the second occlusion region adjacent to the second contour,
- reconstruct motion vectors of the first occlusion region based on motion vectors of the first contour,
- reconstruct motion vectors of the second occlusion region based on motion vectors of the second contour,
- set the detected occlusion region to the first occlusion region, and
- convert blocks included in the first occlusion region into the second occlusion region, such that a sum of field discrepancy (FD) values of blocks included in the detected occlusion region decreases or remains unchanged, an FD value of at least one of block in the detected occlusion region is based on a number of neighboring blocks which are included in a different occlusion region from the occlusion region of the at least one block,
- wherein the FD value of the at least one block is the number of blocks neighboring in four directions, which are included in different occlusion region of the at least one block.
An apparatus for reconstructing an occlusion region, comprising:
- a memory having computer readable instructions stored thereon;
- and
- at least one processor configured to execute the computer readable instructions to,
- receive data corresponding to a motion vector field of a video frame,
- detect an occlusion region in the motion vector field, the occlusion region corresponding to a portion of the motion vector field not having motion vectors or having inaccurate motion vectors,
- detect a contour between the detected occlusion region and a non-occlusion region,
- separate the detected contour into a first contour and a second contour based on motion vectors of blocks included in the detected contour,
- separate the detected occlusion region into a first occlusion region and a second occlusion region, the first occlusion region adjacent to the first contour, and the second occlusion region adjacent to the second contour,
- reconstruct motion vectors of the first occlusion region based on motion vectors of the first contour,
- reconstruct motion vectors of the second occlusion region based on motion vectors of the second contour,
- perform a first operation of setting the detected occlusion region to the first occlusion region, preparing queues for different FD values, and assigning blocks of the detected occlusion region to the queues based on FD values of blocks,
- perform a second operation of outputting a block from a highest queue which is not empty, checking whether the output block can be converted from the first occlusion region to the second occlusion region, and converting the output block from the first occlusion region to the second occlusion region if the output block can be converted from the first occlusion region to the second occlusion region by the result of checking,
- perform a third operation of re-calculating an FD value of unprocessed blocks excluding the output block from blocks included in the detected occlusion region, the re-calculating configured to be performed when the output block is converted to the second occlusion region in the first operation, and assigning the unprocessed blocks to the queues, removing one or more of the unprocessed blocks from the queues, or moving one or more of the unprocessed blocks between queues based on the re-calculated FD value, and
- perform a fourth operation of repeating the second operation and the third operation until no blocks remain in the queues.
An apparatus for reconstructing an occlusion region, comprising:
- a memory having computer readable instructions stored thereon;
- and
- at least one processor configured to execute the computer readable instructions to,
- detect an occlusion region in a motion vector field of a video frame,
- detect a contour between the occlusion region and a non-occlusion region,
- separate the contour into a first contour and a second contour based on motion vectors corresponding to blocks of the contour,
- separate the occlusion region into a first occlusion region and a second occlusion region, the first occlusion region adjacent to the first contour, and the second occlusion region adjacent to the second contour,
- reconstruct motion vectors of the first occlusion region based on motion vectors of the first contour,
- reconstruct motion vectors of the second occlusion region based on motion vectors of the second contour,
- perform a first operation of setting the detected occlusion region to the first occlusion region, preparing queues for different FD values, and assigning blocks of the detected occlusion region to the queues based on FD values of blocks,
- perform a second operation of outputting a block from a highest queue which is not empty, checking whether the output block can be converted from the first occlusion region to the second occlusion region, and converting the output block from the first occlusion region to the second occlusion region if the output block can be converted from the first occlusion region to the second occlusion region by the result of checking,
- perform a third operation of re-calculating an FD value of unprocessed blocks excluding the output block from blocks included in the detected occlusion region, the re-calculating configured to be performed when the output block is converted to the second occlusion region in the first operation, and assigning the unprocessed blocks to the queues, removing one or more of the unprocessed blocks from the queues, or moving one or more of the unprocessed blocks between queues based on the re-calculated FD value, and
- perform a fourth operation of repeating the second operation and the third operation until no blocks remain in the queues.
Dependencies are inferred from the claim text.