Abstract
In general techniques are described for performing motion vector prediction for video coding. A video coding device comprising a processor may perform the techniques. The processor may be configured to determine a plurality of candidate motion vectors for a current block of the video data so as to perform the motion vector prediction process and scale one or more of the plurality of candidate motion vectors determined for the current block of the video data to generate one or more scaled candidate motion vectors. The processor may then be configured to modify the scaled candidate motion vectors to be within a specified range.
Technology | Declaration Information | Specification Information | Explicitly Disclosed | Patent Type | |||||
---|---|---|---|---|---|---|---|---|---|
Declaration Date | Declaration Reference | Declaring Company | Specification Number | ||||||
Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member |
Specification Information
Specification Information
Technologies
Family Information
All Granted Patents In Patent Family : | ---- |
All Pending Patents In Patent Family : | ---- |
Publication No | Technology | Declaration Information | Specification Information | Explicitly Disclosed | Patent Type | |||||
---|---|---|---|---|---|---|---|---|---|---|
Declaration Date | Declaration Reference | Declaring Company | Specification Number | |||||||
US2013163668A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | Yes | Basis Patent | ||||
US9762904B2 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | Yes | Basis Patent | ||||
AU2012355669A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
AU2012355669B2 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
BR112014015056A2 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
BR112014015056A8 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
CA2858979A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
CN104012096A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
EP2795900A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
HK1197330A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
IL232776A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
JP2015506606A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
JP2018050308A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
KR20140110957A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
PH12014501244A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
RU2573227C1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
SG11201402601SA | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
SG10201605087YA | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
TW201334552A | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
TWI535269B | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
UA114617C2 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
WO2013096018A1 | Not Available | 27/03/2018 | ISLD-201806-033 | QUALCOMM INC | No | Family Member | ||||
CA2858979C | ----- | ----- | ----- | ----- | ----- | ----- | ----- | |||
KR102057350B1 | ----- | ----- | ----- | ----- | ----- | ----- | ----- | |||
MY167467A | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
Publication No | Technology | Declaration Information | Specification Information | Explicitly Disclosed | Patent Type | Status | National Phase Entries | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Declaration Date | Declaration Reference | Declaring Company | Specification Information | |||||||||
----- | ----- | ----- | ----- | ----- |
S1
|
----- | ----- | ----- | ----- |
Technologies

Product
Use Cases

Services
Claim
1. A method of coding video data, the method comprising: determining, to perform a motion vector prediction process, a plurality of candidate motion vectors for a current block in a current picture of the video data based on motion vectors determined for spatially neighboring blocks and a temporally co-located block to the current block; scaling, based on a picture order count value associated with the current picture, one or more of the plurality of candidate motion vectors determined for the current block of the video data to generate one or more scaled candidate motion vectors; clipping the one or more scaled candidate motion vectors to be within a specified range, the specified range being -32768, 32767 in quarter pixel units, and the plurality of candidate motion vectors including the clipped scaled candidate motion vectors; selecting, after clipping the one or more scaled candidate motion vectors, one of the plurality of candidate motion vectors as a motion vector predictor for the current block of the video data; and coding the current block of video data based on motion vector predictor.
2. The method of claim 1, wherein clipping the one or more scaled candidate motion vectors comprises clipping the one or more scaled candidate motion vectors without clipping any of the other candidate motion vectors that have not been scaled.
3. The method of claim 1, wherein the motion vector prediction process is one of a merge mode and an advanced motion vector prediction mode.
4. The method of claim 1, wherein the specified range is defined by a video coding profile or level.
5. The method of claim 1, wherein the specified range is fixed and hard- coded in one or more of a video decoder and a video encoder.
6. The method of claim 1, wherein clipping the one or more scaled motion vectors includes: clipping a vertical component of the one or more scaled candidate motion vectors to be within a vertical specified range; and clipping a horizontal component of the one or more scaled candidate motion vectors to be within a horizontal specified range.
7. The method of claim 1, wherein the specified range specifies a motion vector displacement limit that includes a vertical displacement limit, wherein the scaled candidate motion vectors extends beyond the vertical displacement limit, and wherein clipping the one or more scaled candidate motion vectors further comprises clipping a vertical component of the one or more scaled candidate motion vectors such that the vertical component of the one or more scaled candidate motion vectors is within the vertical displacement limit.
8. The method of claim 1, wherein the specified range specifies a motion vector displacement limit that includes a horizontal displacement limit, wherein the scaled candidate motion vectors extends beyond the horizontal displacement limit, and wherein clipping the one or more scaled candidate motion vectors further comprises clipping a horizontal component of the one or more scaled candidate motion vectors such that the horizontal component of the one or more scaled candidate motion vectors is within the horizontal displacement limit.
9. The method of claim 1, wherein clipping the one or more scaled candidate motion vectors comprises scaling the one or more scaled candidate motion vectors such that the one or more scaled candidate motion vectors is bounded by the one or more motion vector displacement limits
10. The method of claim 1, further comprising determining a motion vector for the current block of video data based on the selected one of the plurality of candidate motion vectors for the current block of video data, wherein the determined motion vector identifies a prediction block of video data, wherein coding the current block of video data comprises decoding the current block of video data with respect to the prediction block of video data
11. The method of claim 1, further comprising determining a motion vector for the current block of video data based on the selected one of the plurality of candidate motion vectors for the current block of video data, wherein the determined motion vector identifies a prediction block of video data and, wherein coding the current block of video data comprises encoding the current block of video data with respect to the prediction block of video data
12. The method of claim 1, further comprising: decoding a motion vector predictor index to identify the selected one of the plurality of candidate motion vectors for the current block of video data so as to perform an advanced motion vector prediction mode of the motion vector prediction process; and decoding a motion vector difference between the selected one of the plurality of candidate motion vectors and a motion vector for the current block of video data to determine a motion vector for the current block of video data, wherein coding the current block of video data comprises decoding the current block of video data using the determined motion vector for the current block of video data
13. The method of claim 1, further comprising; decoding an index to identify the selected one of the plurality of candidate motion vectors for the current block of video data so as to perform a merge mode of the motion vector prediction process; and determining a motion vector for the current block of video data to be equivalent to the selected one of the plurality of candidate motion vectors, wherein coding the current block of video data comprises decoding the current block of video data using the determined motion vector for the current block of the video data
14. A video coding device configured to perform a motion vector prediction process to code video data, the video coding device comprising: a memory configured to store a current block of the video data; and a processor configured to: determine, to perform a motion vector prediction process, a plurality of candidate motion vectors for the current block in a current picture of the video data based on motion vectors determined for spatially neighboring blocks and a temporally co-located block to the current block; scale, based on a picture order count value associated with the current picture, one or more of the plurality of candidate motion vectors determined for the current block of the video data to generate one or more scaled candidate motion vectors; clip the one or more scaled candidate motion vectors to be within a specified range, the specified range being -32768, 32767 in quarter pixel units, and the plurality of candidate motion vectors including the clipped scaled candidate motion vectors; select, after clipping the one or more scaled candidate motion vectors, one of the plurality of candidate motion vectors as a motion vector predictor for the current block of the video data; and code the current block of video data based on motion vector predictor
15. The video coding device of claim 14, wherein the processor is configured to clip the one or more scaled candidate motion vectors without clipping any of the other candidate motion vectors that have not been scaled
16. The video coding device of claim 14, wherein the motion vector prediction process is one of a merge mode and an advanced motion vector prediction mode
17. The video coding device of claim 14, wherein the specified range is defined by a video coding profile or level
18. The video coding device of claim 14, wherein the specified range is fixed and hard-coded in one or more of a video decoder and a video encoder
19. The video coding device of claim 14, wherein the processor is configured to clip a vertical component of the one or more scaled candidate motion vectors to be within a vertical specified range and clip a horizontal component of the one or more scaled candidate motion vectors to be within a horizontal specified range.
20. The video coding device of claim 14, wherein the specified range specifies a motion vector displacement limit that includes a vertical displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the vertical displacement limit, and wherein the processor is further configured to clip a vertical component of the one or more scaled candidate motion vectors such that the vertical component of the one or more scaled candidate motion vectors is within the vertical displacement limit.
21. The video coding device of claim 14, wherein the specified range specifies a motion vector displacement limit that includes a horizontal displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the horizontal displacement limit, and wherein the processor is configured to clip a horizontal component of the one or more scaled candidate motion vectors such that the horizontal component of the one or more scaled candidate motion vectors is within the horizontal displacement limit.
22. The video coding device of claim 14, wherein the processor is configured to scale the one or more scaled candidate motion vectors such that the one or more scaled candidate motion vectors is bounded by the one or more motion vector displacement limits.
23. The video coding device of claim 14, wherein the processor is further configured to determine a motion vector for the current block of video data based on the selected one of the plurality of candidate motion vectors for the current block of video data, wherein the determined motion vector identifies a prediction block of video data and wherein the processor is further configured to, when coding the current block of video data, decode the current block of video data with respect to the prediction block of video data.
24. The video coding device of claim 14, wherein the processor is further configured to determine a motion vector for the current block of video data based on the selected one of the plurality of candidate motion vectors for the current block of video data, wherein the determined motion vector identifies a prediction block of video data and;', 'wherein the processor is further configured to, when coding the current block of video data, encode the current block of video data with respect to the prediction block of video data.
25. The video coding device of claim 14, wherein the processor is further configured to decode a motion vector predictor index to identify the selected one of the plurality of candidate motion vectors for the current block of video data so as to perform an advanced motion vector prediction mode of the motion vector prediction process, decode a motion vector difference between the selected one of the plurality of candidate motion vectors and a motion vector for the current block of video data to determine a motion vector for the current block of video data, and, when coding the current block of video data, decode the current block of video data using the determined motion vector for the current block of video data.
26. The video coding device of claim 14, wherein the processor is further configured to decode an index to identify the selected one of the plurality of candidate motion vectors for the current block of video data so as to perform a merge mode of the motion vector prediction process, determine a motion vector for the current block of video data to be equivalent to the selected one of the plurality of candidate motion vectors, and, when coding the current block of video data, decoding the current block of video data using the determined motion vector for the current block of the video data.
27. A video coding device configured to perform a motion vector prediction process to code video data, the video coding device comprising: means for determining, to perform a motion vector prediction process, a plurality of candidate motion vectors for a current block in a current picture of the video data based on motion vectors determined for spatially neighboring blocks and a temporally co-located block to the current block; means for scaling, based on a picture order count value associated with the current picture, one or more of the plurality of candidate motion vectors N determined for the current block of the video data to generate one or more scaled candidate motion vectors; means for clipping the one or more scaled candidate motion vectors to be within a specified range, the specified range being ~32768, 32767 in quarter pixel units, and the plurality of candidate motion vectors including the clipped scaled candidate motion vectors; means for selecting, after clipping the one or more scaled candidate motion vectors, one of the plurality of candidate motion vectors as a motion vector predictor for the current block of the video data; and means for coding the current block of video data based on motion vector predictor.
28. The video coding device of claim 27, wherein the means for clipping the one or more scaled candidate motion vectors comprising means for clipping the one or more scaled candidate motion vectors without clipping any of the other candidate motion vectors that have not been scaled.
29. The video coding device of claim 27, wherein the specified range is defined by a video coding profile or level.
30. The video coding device of claim 27, wherein the specified range is fixed and hard-coded in one or more of a video decoder and a video encoder.
31. The video coding device of claim 27, wherein the means for clipping the one or more scaled motion vectors includes: means for clipping a vertical component of the one or more scaled candidate motion vectors to be within a vertical specified range; and means for clipping a horizontal component of the one or more scaled candidate motion vectors to be within a horizontal specified range.
32. The video coding device of claim 27,', 'wherein the specified range specifies a motion vector displacement limit that includes a vertical displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the vertical displacement limit, and wherein the means for clipping the one or more scaled candidate motion vectors further comprises means for clipping a vertical component of the one or more scaled candidate motion vectors such that the vertical component of the one or more scaled candidate motion vectors is within the vertical displacement limit.
33. The video coding device of claim 27, wherein the specified range specifies a motion vector displacement limit that includes a horizontal displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the horizontal displacement limit, and wherein the means for clipping the one or more scaled candidate motion vectors further comprises means for clipping a horizontal component of the one or more scaled candidate motion vectors such that the horizontal component of the one or more scaled candidate motion vectors is within the horizontal displacement limit.
34, A non-transitory computer-readable storage medium having instruction stored thereon that, when executed, cause one or more processors to: determine, to perform a motion vector prediction process, a plurality of candidate motion vectors for a current block in a current picture of the video data based on motion vectors determined for spatially neighboring blocks and a temporally co-located block to the current block; scale, based on a picture order count value associated with the current picture, one or more of the plurality of candidate motion vectors determined for the current block of the video data to generate one or more scaled candidate motion vectors; clip the one or more scaled candidate motion vectors to be within a specified range, the specified range being -32768, 32767 in quarter pixel units, and the plurality of candidate motion vectors including the clipped scaled candidate motion vectors; select, after clipping the one or more scaled candidate motion vectors, one of the plurality of candidate motion vectors as a motion vector predictor for the current block of the video data; and code the current block of video data based on motion vector predictor.
35. The non-transitory computer-readable storage medium of claim 34, wherein the instructions, when executed, cause the one or more processors to clip, the one or more scaled candidate motion vectors without modifying any of the other candidate motion vectors that have not been scaled.
36. The non-transitory computer-readable storage medium of claim 34, wherein the specified range is defined by a video coding profile or level.
37. The non-transitory computer-readable storage medium of claim 34, wherein the specified range is fixed and hard-coded in one or more of a video decoder and a video encoder.
38. The non-transitory computer-readable storage medium of claim 34, wherein the instructions, when executed, cause the one or more processors to: clip a vertical component of the one or more scaled candidate motion vectors to be within a vertical specified range; and clip a horizontal component of the one or more scaled candidate motion vectors to be within a horizontal specified range.
39. The non-transitory computer-readable storage medium of claim 34, wherein the specified range specifies a motion vector displacement limit that includes a vertical displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the vertical displacement limit, and wherein the instructions, when executed, cause the one or more processors to clip a vertical component of the one or more scaled candidate motion vectors such that the vertical component of the one or more scaled candidate motion vectors is within the vertical displacement limit.
40. The non-transitory computer-readable storage medium of claim 34, wherein the specified range specifies a motion vector displacement limit that includes a horizontal displacement limit, wherein the one or more scaled candidate motion vectors extends beyond the horizontal displacement limit, and wherein the instructions, when executed, cause the one or more processors to clip a horizontal component of the one or more scaled candidate motion vectors such that the horizontal component of the one or more scaled candidate motion vectors is within the horizontal displacement limit.']
Associated Portfolios

![]() |
![]() |
![]() |
![]() |
---|---|---|---|
Claim charts will soon be available!
|
SUMMARY
ClaimChart-PH12014501244B1-STO
Patent number:PH12014501244B1
Claim Chart Type : SEP Claim Chart
Price: 200 €
To view claim charts you must become a Gold or Platinum Member.
Upgrade your subscriptionYou have reached the maximum number of patents which can be associated to your account per your subscription. If you wish to associate more patents
Please upgrade your subscription.Note:
The information in blue was extracted from the third parties (Standard Setting Organisation, Espacenet)
The information in grey was provided by the patent holder
The information in purple was extracted from the FrandAvenue
Explicitly disclosed patent:openly and comprehensibly describes all details of the invention in the patent document.
Implicitly disclosed patent:does not explicitly state certain aspects of the invention, but still allows for these to be inferred from the information provided.
Basis patent:The core patent in a family, outlining the fundamental invention from which related patents or applications originate.
Family member:related patents or applications that share a common priority or original filing.