IP Library › Granted Patent US 11,297,340
Granted Patent B2
US 11,297,340 · App. 16/820,152 · Granted Apr 5, 2022

Low-complexity design for FRUC

Inventors: Wei-Jung Chien (San Diego, CA); Hsiao-Chiang Chuang (San Diego, CA); Xiang Li (Saratoga, CA); Jianle Chen (San Diego, CA); Li Zhang (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/44H04N19/176H04N19/513H04N19/52H04N19/523H04N19/56H04N19/573H04N19/577
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 11,297,340
App. No.
16/820,152
Filed
Mar 16, 2020
Granted
Apr 5, 2022
Kind
B2
Art Unit
2485
USPC
375/240.16
Abstract

A method of decoding video data includes constructing, by a video decoder implemented in processing circuitry, a candidate list of motion vector information for a portion of a current frame. The method includes receiving, by the video decoder, signaling information indicating starting motion vector information of the candidate list of motion vector information, the starting motion vector information indicating an initial position in a reference frame. The method includes refining, by the video decoder, based on one or more of bilateral matching or template matching, the starting motion vector information to determine refined motion vector information indicating a refined position in the reference frame that is within a search range from the initial position. The method includes generating, by the video decoder, a predictive block based on the refined motion vector information and decoding, by the video decoder, the current frame based on the predictive block.

Claims (54)

1. A method of decoding video data, the method comprising:

constructing, by a video decoder implemented in processing circuitry, a candidate list of motion vector information for a portion of a current frame;

receiving, by the video decoder, signaling information indicating starting motion vector information of the candidate list of motion vector information, the starting motion vector information indicating an initial position in a reference frame;

refining, by the video decoder, based on one or more of bilateral matching or template matching, the starting motion vector information to determine refined motion vector information indicating a refined position in the reference frame that is within a search range from the initial position;

determining, by the video decoder, that sub-block motion refinement is disabled for one or more sub-blocks of the portion of the current frame;

in response to determining that the sub-block motion refinement is disabled for the one or more sub-blocks of the portion of the current frame, generating, by the video decoder, a predictive block based on the refined motion vector information without applying sub-block motion refinement to the one or more sub-blocks of the portion of the current frame; and

decoding, by the video decoder, the current frame based on the predictive block.

2. The method of claim 1 , wherein determining that the sub-block motion refinement is disabled for the one or more sub-blocks is based on a slice-level switch.

3. The method of claim 1 , wherein the one or more sub-blocks comprises one or more first sub-blocks, the method further comprising enabling the sub-block motion refinement for one or more second sub-blocks of the portion of the current frame.

4. The method of claim 1 , wherein the one or more sub-blocks comprises one or more first sub-blocks and wherein determining that the sub-block motion refinement is disabled for the one or more first sub-blocks comprises determining that the one or more first sub-blocks are arranged in a top-left position of the portion of the current frame, wherein the method further comprises:

enabling the sub-block motion refinement for one or more second sub-blocks arranged in a bottom-right position of the portion of the current frame.

5. The method of claim 1 , wherein determining that the sub-block motion refinement is disabled for the one or more sub-blocks is based on one or more of a block size of the portion of the current frame or a coding mode for the current frame.

6. A device for decoding video data, the device comprising:

a memory configured to store the video data; and

processing circuitry configured to:

construct a candidate list of motion vector information for a portion of a current frame;

receive signaling information indicating starting motion vector information of the candidate list of motion vector information, the starting motion vector information indicating an initial position in a reference frame;

refine, based on one or more of bilateral matching or template matching, the starting motion vector information to determine refined motion vector information indicating a refined position in the reference frame that is within a search range from the initial position;

determine that sub-block motion refinement is disabled for one or more sub-blocks of the portion of the current frame;

in response to a determination that the sub-block motion refinement is disabled for the one or more sub-blocks of the portion of the current frame, generate a predictive block based on the refined motion vector information without an application of sub-block motion refinement to the one or more sub-blocks of the portion of the current frame; and

decode the current frame based on the predictive block.

7. The device of claim 6 , wherein the processing circuitry is configured to determine that the sub-block motion refinement is disabled for the one or more sub-blocks based on a slice-level switch.

8. The device of claim 6 , wherein the one or more sub-blocks comprises one or more first sub-blocks and wherein the processing circuitry is configured to enable the sub-block motion refinement for one or more second sub-blocks of the portion of the current frame.

9. The device of claim 6 ,

wherein the one or more sub-blocks comprises one or more first sub-blocks;

wherein, to determine that sub-block motion refinement is disabled for the one or more first sub-blocks, the processing circuitry is configured to determine that the one or more first sub-blocks are arranged in a top-left position of the portion of the current frame; and

wherein the processing circuitry is further configured to enable the sub-block motion refinement for one or more second sub-blocks arranged in a bottom-right position of the portion of the current frame.

10. The device of claim 6 , wherein the processing circuitry is configured to determine that the sub-block motion refinement is disabled for the one or more sub-blocks based on one or more of a block size of the portion of the current frame or a coding mode for the current frame.

11. The device of claim 6 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

12. The device of claim 11 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

13. A method of encoding video data, the method comprising:

constructing, by a video encoder implemented in processing circuitry, a candidate list of motion vector information for a portion of a current frame;

selecting, by the video encoder, starting motion vector information of the candidate list of motion vector information, the starting motion vector information indicating an initial position in a reference frame;

refining, by the video encoder, based on one or more of bilateral matching or template matching, the starting motion vector information to determine refined motion vector information indicating a refined position in the reference frame that is within a search range from the initial position;

determining, by the video encoder, that sub-block motion refinement is disabled for one or more sub-blocks of the portion of the current frame;

in response to determining that the sub-block motion refinement is disabled for the one or more sub-blocks of the portion of the current frame, generating, by the video encoder, a predictive block based on the refined motion vector information without applying sub-block motion refinement to the one or more sub-blocks of the portion of the current frame;

generating, by the video encoder, residual sample values for the current block of video data based on the predictive block; and

outputting, by the video encoder, an indication of the residual sample values and signaling information indicating the starting motion vector information of the candidate list of motion vector information.

14. A device for encoding video data, the device comprising:

a memory configured to store the video data; and

processing circuitry configured to:

construct a candidate list of motion vector information for a portion of a current frame;

select starting motion vector information of the candidate list of motion vector information, the starting motion vector information indicating an initial position in a reference frame;

refine, based on one or more bilateral matching or template matching, the starting motion vector information to determine refined motion vector information indicating a refined position in the reference frame that is within a search range from the initial position;

determine that sub-block motion refinement is disabled for one or more sub-blocks of the portion of the current frame;

in response to a determination that the sub-block motion refinement is disabled for the one or more sub-blocks of the portion of the current frame, generate a predictive block based on the refined motion vector information without an application of sub-block motion refinement to the one or more sub-blocks of the portion of the current frame;

generate residual sample values for the current block of video data based on the predictive block; and

output an indication of the residual sample values and signaling information indicating the starting motion vector information of the candidate list of motion vector information.

15. The device of claim 14 , wherein the device comprises a wireless communication device, further comprising a transmitter configured to transmit encoded video data.

16. The device of claim 15 , wherein the wireless communication device comprises a telephone handset and wherein the transmitter is configured to modulate, according to a wireless communication standard, a signal comprising the encoded video data.

17. The method of claim 13 , wherein determining that the sub-block motion refinement is disabled for the one or more first sub-blocks comprises determining that the one or more first sub-blocks are arranged in a top-left position of the portion of the current frame.

18. The method of claim 13 , wherein determining that the sub-block motion refinement is disabled for the one or more sub-blocks is based on one or more of a block size of the portion of the current frame or a coding mode for the current frame.

19. The device of claim 14 , wherein, to determine that the sub-block motion refinement is disabled for the one or more first sub-blocks, the processing circuitry is configured to determine that the one or more first sub-blocks are arranged in a top-left position of the portion of the current frame.

20. The device of claim 14 , wherein the processing circuitry is configured to determine that the sub-block motion refinement is disabled for the one or more sub-blocks based on one or more of a block size of the portion of the current frame or a coding mode for the current frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: CHIEN, WEI-JUNG; CHUANG, HSIAO-CHIANG; LI, XIANG; CHEN, JIANLE; ZHANG, LI; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 052127/0738 →
Continuity (3)
Continuation 16131860 · Sep 14, 2018
Provisional Application 62571161 · Oct 11, 2017
Related Publication 20200221110A1 · Jul 9, 2020
Cited By (2)
US 12,483,717 US 12,549,762