Disclosed herein are representative embodiments of processing digital image data. In one exemplary embodiment disclosed herein, for a current block of a first frame of digital image data, a list of motion vector prediction information for the current block is populated with candidate motion vector prediction data that includes default motion vector prediction data. In another exemplary embodiment disclosed herein, at least a portion of a coded video bitstream is received and a merge flag for a current block in a current frame is decoded. After the merge flag is decoded, at least one merge candidate for the current block is determined.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A video encoder comprising: a memory; and one or more processors, the one or more processors being configured to encode video data into a compressed video bitstream at least by: for a current block of a first frame of digital image data, populating a list of motion vector prediction information for the current block with candidate motion vector prediction data, the populating comprising adding default motion vector data to the list of motion vector prediction information.
2. The video encoder of claim 1 , wherein the populating further comprises: determining that motion vector prediction data from one or more neighboring blocks is not available; and determining that motion vector prediction data from a co-located block from a second frame of digital image data is not available.
3. The video encoder of claim 1 , wherein the default motion vector data comprises a motion vector comprising vertical and horizontal displacement values of zero; and wherein the default motion vector data comprises a reference frame index value of zero.
4. The video encoder of claim 1 , wherein the method further comprises encoding a flag signaling whether motion vector prediction is to be performed.
5. One or more computer-readable memory or storage devices storing computer-executable instructions which when executed by a computer cause the computer to perform a method of decoding a video bitstream, the method comprising: receiving at least a portion of a coded video bitstream; decoding a merge flag for a current block in a current frame; after decoding the merge flag, determining one or more merge candidates for the current block, wherein each of the merge candidates comprises a motion vector; and decompressing video information for the current block using a selected one of the one or more merge candidates.
6. The one or more computer-readable memory or storage devices of claim 5 , wherein the determining the one or more merge candidates comprises adding a predetermined merge candidate for the current block.
7. The one or more computer-readable memory or storage devices of claim 5 , wherein the decoding of the merge flag for the current block in the current frame is independent of the merge candidates construction; and wherein the merge flag signals that the current block is of a merge mode such that the motion information for the current block is obtained from one of the one or more merge candidates.
8. The one or more computer-readable memory or storage devices of claim 6 , wherein the adding the predetermined merge candidate for the current block comprises adding the predetermined merge candidate to a merge candidate list.
9. The one or more computer-readable memory or storage devices of claim 6 , wherein the decompressing video information for the current block comprises using the predetermined merge candidate to determine a prediction for the current block.
10. The one or more computer-readable memory or storage devices of claim 6 , wherein the predetermined merge candidate comprises a predetermined reference frame index and a predetermined motion vector.
11. The one or more computer-readable memory or storage devices of claim 6 , wherein the predetermined merge candidate is a zero merge candidate comprising a motion vector having a zero-value horizontal displacement and a zero-value vertical displacement.
12. The one or more computer-readable memory or storage devices of claim 5 , wherein the determining one or more merge candidates comprises: determining that there are no merge candidates from neighboring blocks to the current block or from a co-located block in a reference frame; and adding a zero merge candidate to the merge candidate list for the current block.
13. The one or more computer-readable memory or storage devices of claim 5 , further comprising: after determining the one or more merge candidates for the current block, determining that there is more than one merge candidate in a merge candidate list for the current block; and decoding at least one merge index for the current block, the merge index indicating a merge candidate in the merge candidate list that is to be used to determine a prediction for the current block.
14. The one or more computer-readable memory or storage devices of claim 5 , wherein the determining the one or more merge candidates for the current block comprises: determining that one or more spatial merge candidates from one or more neighboring blocks are not available; determining that at least one temporal merge candidate from a co-located block from a reference frame is not available; and adding a default merge candidate to a list of the one or more merge candidates for the current block.
15. One or more computer-readable memory or storage devices storing computer-executable instructions which when executed by a computer cause the computer to perform a method of processing digital image data, the method comprising: for a current block of a first frame of digital image data, populating a list of motion vector prediction information for the current block with candidate motion vector prediction data, the populating comprising adding default motion vector data to the list of motion vector prediction information.
16. The one or more computer-readable memory or storage devices of claim 15 , wherein the populating further comprises: determining that motion vector prediction data from one or more neighboring blocks is not available; and determining that motion vector prediction data from a co-located block from a second frame of digital image data is not available.
17. The one or more computer-readable memory or storage devices of claim 15 , wherein the default motion vector data comprises a motion vector comprising vertical and horizontal displacement values of zero; and wherein the default motion vector data comprises a reference frame index value of zero.
18. The one or more computer-readable memory or storage devices of claim 15 , wherein the method further comprises decoding a flag signaling whether motion vector prediction is to be performed, and wherein the populating the list of motion vector prediction information is performed responsive to the value of the decoded flag.
19. The one or more computer-readable memory or storage devices of claim 15 , wherein the method further comprises encoding a flag signaling whether motion vector prediction is to be performed.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 26, 2015
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.