IP Library › Granted Patent US 10,142,652
Granted Patent B2
US 10,142,652 · App. 15/147,053 · Granted Nov 27, 2018

Entropy coding motion vector residuals obtained using reference motion vectors

Inventors: Yaowu Xu (Saratoga, CA); Jingning Han (Santa Clara, CA)
Assignee: GOOGLE LLC
H04N19/56H04N19/176H04N19/513H04N19/573H04N19/583H04N19/91
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,142,652
App. No.
15/147,053
Granted
Nov 27, 2018
Kind
B2
Abstract

Techniques are described to code motion vectors using reference motion vectors to reduce the amount of bits needed. One method includes determining, for a current block of the video bitstream, a reference motion vector from a varying number of candidate reference motion vectors, wherein the reference motion vector is associated with a reference block and includes a predicted portion and a residual portion; selecting a probability context model for the current block by evaluating the residual portion of the reference motion vector with one or more thresholds; and entropy decoding, for the current block using a processor, a motion vector residual associated with the current block using the probability context model.

Claims (33)

1. A method for decoding a video bitstream, comprising:

determining, for a current block of the video bitstream, a reference motion vector from a number of candidate reference motion vectors, wherein the reference motion vector is associated with a reference block and includes a predicted portion and a residual portion;

selecting a probability context model for the current block by evaluating the residual portion of the reference motion vector with one or more thresholds, wherein the selecting comprises:

comparing a magnitude of the residual portion of the reference motion vector with the one or more thresholds to determine an indication of likelihood of motion intensity for the current block; and

selecting the probability context model from a plurality of probability context models based on the indication of likelihood of motion intensity for the current block; and

entropy decoding, for the current block using a processor, a motion vector residual associated with the current block using the probability context model, wherein the motion vector residual is determined as a difference between a motion vector determined for the current block and the reference motion vector.

2. The method of claim 1 , wherein the current block is located in a current frame of the video bitstream, and the reference block is a previously decoded block located in the current frame, or a block located in a reference frame of the current frame of the video bitstream.

3. The method of claim 2 , wherein the reference frame is selected from a first number of candidate reference frames for the current frame, and the reference frame includes, for the current block, a second number of candidate reference blocks including a co-located block of the current block and at least one of: a block to the right of the co-located block, a block below the co-located block, a block to the bottom-left of the co-located block, and a block to the bottom-right of the co-located block.

4. The method of claim 2 , wherein the reference block is selected from a dynamic list of a varying number of candidate reference blocks, the candidate reference blocks comprising at least one of: a co-located block in the reference frame, a block to the right of the co-located block in the reference frame, a block below the co-located block in the reference frame, a block to the bottom-left of the co-located block in the reference frame, a block to the bottom-right of the co-located block in the reference frame, a block above the current block in the current frame, a block to the left of the current block in the current frame, a block to the above-left of the current block in the current frame, and a block to the above-right of the current block in the current frame.

5. The method of claim 1 , wherein the plurality of probability context models comprises a first probability context model associated with a first category of blocks indicative of strong motion intensity and a second probability context model associated with a second category of blocks indicative of weak motion intensity.

6. The method of claim 1 , wherein the plurality of probability context models is updated based on a histogram of probability context models determined for some or all blocks in a frame.

7. A method for encoding a video stream, comprising:

selecting, for a current block of the video stream, a reference motion vector from a number of candidate reference motion vectors, wherein the reference motion vector is associated with a reference block and includes a predicted portion and a residual portion;

selecting a probability context model for the current block by evaluating the residual portion of the reference motion vector with one or more thresholds, wherein the selecting comprises:

comparing a magnitude of the residual portion of the reference motion vector with the one or more thresholds to determine an indication of likelihood of motion intensity for the current block; and

selecting the probability context model from a plurality of probability context models based on the indication of likelihood of motion intensity for the current block; and

entropy encoding, for the current block using a processor, a motion vector residual associated with the current block using the probability context model, wherein the motion vector residual associated with the current block is determined as a difference between a motion vector determined for the current block and the reference motion vector.

8. The method of claim 7 , wherein the current block is located in a current frame of the video stream, and the reference block is a previously coded block located in the current frame, or a block located in a reference frame of the current frame in the video stream.

9. The method of claim 8 , wherein the reference frame is selected from a first number of candidate reference frames for the current frame, and the reference frame includes, for the current block, a second number of candidate reference blocks including a co-located block of the current block and at least one of the following blocks in the reference frame: a block to the right of the co-located block, a block below the co-located block, a block to the bottom-left of the co-located block, and a block to the bottom-right of the co-located block.

10. The method of claim 8 , wherein the reference block is selected from a dynamic list of a varying number of candidate reference blocks, the candidate reference blocks comprising at least one of: a co-located block in the reference frame, a block to the right of the co-located block in the reference frame, a block below the co-located block in the reference frame, a block to the bottom-left of the co-located block in the reference frame, a block to the bottom-right of the co-located block in the reference frame, a block above the current block in the current frame, a block to the left of the current block in the current frame, a block to the above-left of the current block in the current frame, and a block to the above-right of the current block in the current frame.

11. The method of claim 7 , wherein the plurality of probability context models comprises a first probability context model associated with a first category of blocks indicative of strong motion intensity and a second probability context model associated with a second category of blocks indicative of weak motion intensity.

12. The method of claim 7 , wherein the plurality of probability context models is updated based on a histogram of probability context models determined for some or all blocks in a frame.

13. An apparatus for decoding a video bitstream, comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

determine, for a current block of the video bitstream, a reference motion vector from a number of candidate reference motion vectors, wherein the reference motion vector is associated with a reference block and includes a predicted portion and a residual portion;

select a probability context model for the current block by evaluating the residual portion of the reference motion vector with one or more thresholds, comprising:

comparing a magnitude of the residual portion of the reference motion vector with the one or more thresholds to determine an indication of likelihood of motion intensity for the current block; and

selecting the probability context model from a plurality of probability context models based on the indication of likelihood of motion intensity for the current block; and

entropy decode, for the current block, a motion vector residual associated with the current block using the probability context model, wherein the motion vector residual associated with the current block is determined as a difference between a motion vector determined for the current block and the reference motion vector.

14. The apparatus of claim 13 , wherein the current block is located in a current frame of the video bitstream, and the reference block is a previously decoded block located in the current frame, or a block located in a reference frame of the current frame in the video bitstream.

15. The apparatus of claim 14 , wherein the reference frame is selected from a first number of candidate reference frames for the current frame, and the reference frame includes, for the current block, a second number of candidate reference blocks including a co-located block of the current block and at least one of the following blocks in the reference frame:

a block to the right of the co-located block, a block below the co-located block, a block to the bottom-left of the co-located block, and a block to the bottom-right of the co-located block.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: XU, YAOWU; HAN, JINGNING
To: GOOGLE INC.
Reel/Frame 038612/0719 →
Continuity (1)
Related Publication 20170324978A1 · Nov 9, 2017
Cited By (1)
US 12,641,244