Patentable/Patents/US-9641836
US-9641836

Weighted difference prediction under the framework of generalized residual prediction

PublishedMay 2, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video information associated with a reference layer. The processor determines a value of a current video unit based on, at least in part, a reconstruction value associated with the reference layer and an adjusted difference prediction value. The adjusted difference prediction value is equal to a difference between a prediction of a current layer and a prediction of the reference layer multiplied by a weighting factor that is different from 1.

Patent Claims
67 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus for coding video information, comprising: a memory configured to store video data associated with a reference layer and a corresponding enhancement layer; and a processor in communication with the memory, the processor configured to: select a weighting factor from a plurality of weighting factor candidates, wherein the selected weighting factor is different from 1; determine an adjusted difference prediction value, wherein the adjusted prediction value is equal to the selected weighting factor multiplied by a difference between (i) a prediction of a current picture in the enhancement layer and (ii) a prediction of a reference layer picture in the reference layer that corresponds to the current picture; and determine a reconstruction of the current picture in the enhancement layer based on a sum of (i) a residual value indicative of a difference between the current picture and the prediction of the current picture, (ii) a reconstruction of the reference layer picture in the reference layer, and (iii) the adjusted difference prediction value, wherein the selected weighting factor is derived from a weighting step indicative of an increment size between each of the plurality of weighting factor candidates and a weighting index associated with the selected weighting factor.

2

2. The apparatus of claim 1 , wherein the processor is further configured to apply the weighting factor at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, and a region of pixels.

3

3. The apparatus of claim 1 , wherein the weighting factor is determined based upon weighting information.

4

4. The apparatus of claim 3 , wherein the weighting information comprises one or more of a weighting step, a weighting table, a number of weighting factor candidates, or a weighting index.

5

5. The apparatus of claim 4 , wherein the weighting information comprises a weighting index, and wherein the weighting index indicates which prediction and what weighting factor is used for a coding level.

6

6. The apparatus of claim 3 , wherein the weighting information is signaled.

7

7. The apparatus of claim 6 , wherein the weighting information is signaled at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, and a region of pixels.

8

8. The apparatus of claim 3 , wherein the weighting information is derived based on previously encoded or decoded information.

9

9. The apparatus of claim 8 , wherein the previously encoded or decoded information is provided at a coding level and comprises one or more of: a quantization parameter, a CU size, a PU size, or a CU coding mode.

10

10. The apparatus of claim 9 , wherein the coding level comprises one or more of: a sequence, a group of frames, a frame, a group of slices, a slice, a group of CUs, a CU, a group of PUs, a PU, one or more blocks, or a region of pixels.

11

11. The apparatus of claim 9 , wherein the CU coding mode is inter CU or intra CU.

12

12. The apparatus of claim 1 , wherein the processor is further configured to disable generalized residual prediction (GRP) and enable only weighted difference prediction (WDP).

13

13. The apparatus of claim 12 , wherein the processor is further configured to disable GRP and enable WDP at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, or a region of pixels.

14

14. The apparatus of claim 1 , wherein the processor is further configured to signal the weighting factor in a bitstream of video information.

15

15. The apparatus of claim 1 , wherein the weighting factor comprises a number of candidate weighting factors, the number of candidate weighting factors being dependent upon coded information in a bitstream associated with the video information.

16

16. The apparatus of claim 15 , wherein the coded information comprises one or more of a CU mode, a CU size, or other previously coded information in the bitstream.

17

17. The apparatus of claim 1 , wherein the processor is further configured to perform 3D video coding, and wherein the reference layer comprises a plurality of reference layers or reference views.

18

18. The apparatus of claim 1 , wherein the processor is further configured to determine the adjusted difference prediction value in a spatial scalable video coding mode by up-sampling and/or down-sampling.

19

19. The apparatus of claim 18 , wherein the processor is further configured to apply a smoothing filter.

20

20. The apparatus of claim 1 , wherein the processor is further configured to determine the adjusted difference prediction value in a 3D coding mode by warping and/or disparity compensation.

21

21. The apparatus of claim 1 , wherein the processor is further configured to determine the adjusted difference prediction value by upsampling, downsampling, and/or remapping motion information associated with the video data of layers or views.

22

22. The apparatus of claim 21 , wherein the processor is further configured to determine the adjusted difference prediction value by applying motion shift.

23

23. The apparatus of claim 1 , wherein the processor is further configured to determine the adjusted difference prediction value by applying a treatment when one frame is available in one layer or view but not available in another corresponding layer or view.

24

24. The apparatus of claim 23 , wherein the treatment comprises marking the one frame as unavailable or setting related motion to zero.

25

25. The apparatus of claim 1 , wherein the processor is further configured to encode unencoded video data and determine the weighting factor (w) according to a relationship: w = ∑ x , y ⁢ { ( I - P e ) · ( I ^ b - P b ) } ∑ x , y ⁢ { ( I ^ b - P b ) 2 } wherein I corresponds to a source picture, P e corresponds to an enhancement layer temporal prediction, P b corresponds to a base layer temporal prediction, and Î b corresponds to a base layer reconstruction, determined from the unencoded video data.

26

26. The apparatus of claim 1 , wherein the reference layer is an enhancement layer.

27

27. The apparatus of claim 1 , wherein the processor is further configured to clip residual pixel or differential pixel derivation to a predetermined bit depth.

28

28. The apparatus of claim 27 , wherein the predetermined bit depth is 8 bits, 16 bits, or a bit depth between 8 bits and 16 bits.

29

29. The apparatus of claim 1 , wherein the apparatus comprises one or more of: a desktop computer, a notebook computer, a laptop computer, a tablet computer, a set-top box, a telephone handset, a smart phone, a wireless communication device, a smart pad, a television, a camera, a display device, a digital media player, a video gaming console, or a video streaming device.

30

30. A method of coding video information comprising: storing video data associated with a reference layer and a corresponding enhancement layer; selecting a weighting factor from a plurality of weighting factor candidates, wherein the selected weighting factor is different from 1; determining an adjusted difference prediction value, wherein the adjusted prediction value is equal to the selected weighting factor multiplied by a difference between (i) a prediction of a current picture in the enhancement layer and (ii) a prediction of a reference layer picture in the reference layer that corresponds to the current picture; and determining a reconstruction of the current picture in the enhancement layer based on a sum of (i) a residual value indicative of a difference between the current picture and the prediction of the current picture, (ii) a reconstruction of the reference layer picture in the reference layer, and (iii) the adjusted difference prediction value, wherein the selected weighting factor is derived from a weighting step indicative of an increment size between each of the plurality of weighting factor candidates and a weighting index associated with the selected weighting factor.

31

31. The method of claim 30 , further comprising applying the weighting factor at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, and a region of pixels.

32

32. The method of claim 30 , wherein the weighting factor is determined based upon weighting information.

33

33. The method of claim 30 , wherein the weighting information comprises one or more of a weighting step, a weighting table, a number of weighting factor candidates, or a weighting index.

34

34. The method of claim 33 , wherein the weighting information comprises a weighting index, and wherein the weighting index indicates which prediction and what weighting factor is used for a coding level.

35

35. The method of claim 30 , wherein the weighting information is signaled.

36

36. The method of claim 35 , wherein the weighting information is signaled at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, and a region of pixels.

37

37. The method of claim 30 , wherein the weighting information is derived based on previously encoded or decoded information.

38

38. The method of claim 37 , wherein the previously encoded or decoded information is provided at a coding level and comprises one or more of: a quantization parameter, a CU size, a PU size, or a CU coding mode.

39

39. The method of claim 38 , wherein the coding level comprises one or more of: a sequence, a group of frames, a frame, a group of slices, a slice, a group of CUs, a CU, a group of PUs, a PU, one or more blocks, or a region of pixels.

40

40. The method of claim 39 , wherein the CU coding mode is inter CU or intra CU.

41

41. The method of claim 30 , further comprising disabling generalized residual prediction (GRP) and enabling only weighted difference prediction (WDP).

42

42. The method of claim 41 , wherein said disabling GRP and enabling WDP is performed at a coding level selected from a group comprising: a sequence, a group of frames, frame, a group of slices, slice, a group of coding units (CUs), coding unit (CU), a group of prediction units (PUs), prediction unit (PU), blocks, and a region of pixels.

43

43. The method of claim 30 , further comprising signaling the weighting factor in a bitstream of video information.

44

44. The method of claim 30 , wherein the weighting factor comprises a number of candidate weighting factors, the number of candidate weighting factors being dependent upon coded information in a bitstream associated with the video information.

45

45. The method of claim 44 , wherein the coded information comprises one or more of a CU mode, a CU size, or other previously coded information in the bitstream.

46

46. The method of claim 30 , further comprising performing 3D video coding, and wherein the reference layer comprises a plurality of reference layers or reference views.

47

47. The method of claim 30 , further comprising determining the adjusted difference prediction value in a spatial scalable video coding mode by up-sampling and/or down-sampling.

48

48. The method of claim 47 , further comprising applying a smoothing filter.

49

49. The method of claim 30 , further comprising determining the adjusted difference prediction value in a 3D coding mode by warping and/or disparity compensation.

50

50. The method of claim 30 , further comprising determining the adjusted difference prediction value by upsampling, downsampling, and/or remapping motion information associated with the video data of layers or views.

51

51. The method of claim 50 , further comprising determining the adjusted difference prediction value by applying motion shift.

52

52. The method of claim 30 , further comprising determining the adjusted difference prediction value by applying a treatment when one frame is available in one layer or view but not available in another corresponding layer or view.

53

53. The method of claim 52 , wherein the treatment comprises marking the one frame as unavailable or setting related motion to zero.

54

54. The method of claim 30 , further comprising encoding unencoded video data and determining the weighting factor (w) according to a relationship: w = ∑ x , y ⁢ { ( I - P e ) · ( I ^ b - P b ) } ∑ x , y ⁢ { ( I ^ b - P b ) 2 } wherein I corresponds to a source picture, P e corresponds to an enhancement layer temporal prediction, P b corresponds to a base layer temporal prediction, and Î b corresponds to a base layer reconstruction, determined from the unencoded video data.

55

55. The method of claim 30 , wherein the reference layer is an enhancement layer.

56

56. The method of claim 30 , further comprising clipping a residual pixel or differential pixel derivation to a predetermined bit depth.

57

57. The method of claim 56 , wherein the predetermined bit depth is 8 bits, 16 bits, or a bit depth between 8 bits and 16 bits.

58

58. An apparatus for coding video information, comprising: means for storing video data associated with a reference layer and a corresponding enhancement layer; means for selecting a weighting factor from a plurality of weighting factor candidates, wherein the selected weighting factor is different from 1; means for determining an adjusted difference prediction value, wherein the adjusted prediction value is equal to the selected weighting factor multiplied by a difference between (i) a prediction of a current picture in the enhancement layer and (ii) a prediction of a reference layer picture in the reference layer that corresponds to the current picture; and means for determining a reconstruction of the current picture in the enhancement layer based on a sum of (i) a residual value indicative of a difference between the current picture and the prediction of the current picture, (ii) a reconstruction of the reference layer picture in the reference layer, and (iii) the adjusted difference prediction value, wherein the selected weighting factor is derived from a weighting step indicative of an increment size between each of the plurality of weighting factor candidates and a weighting index associated with the selected weighting factor.

59

59. The apparatus of claim 58 , wherein the weighting factor is determined based upon weighting information.

60

60. The apparatus of claim 58 , wherein the weighting information comprises one or more of a weighting step, a weighting table, a number of weighting factor candidates, or a weighting index.

61

61. The apparatus of claim 60 , wherein the weighting information comprises a weighting index, and wherein the weighting index indicates which prediction and what weighting factor is used for a coding level.

62

62. The apparatus of claim 58 , further comprising means for disabling generalized residual prediction (GRP) and enabling only weighted difference prediction (WDP).

63

63. A non-transitory computer-readable medium storing instructions for coding video information that cause a computer processor to: store video data associated with a reference layer and a corresponding enhancement layer; select a weighting factor from a plurality of weighting factor candidates, wherein the selected weighting factor is different from 1; determine an adjusted difference prediction value, wherein the adjusted prediction value is equal to the selected weighting factor multiplied by a difference between (i) a prediction of a current picture in the enhancement layer and (ii) a prediction of a reference layer picture in the reference layer that corresponds to the current picture; and determine a reconstruction of the current picture in the enhancement layer based on a sum of (i) a residual value indicative of a difference between the current picture and the prediction of the current picture, (ii) a reconstruction of the reference layer picture in the reference layer, and (iii) the adjusted difference prediction value, wherein the selected weighting factor is derived from a weighting step indicative of an increment size between each of the plurality of weighting factor candidates and a weighting index associated with the selected weighting factor.

64

64. The computer-readable medium of claim 63 , wherein the weighting factor is determined based upon weighting information.

65

65. The computer-readable medium of claim 63 , wherein the weighting information comprises one or more of a weighting step, a weighting table, a number of weighting factor candidates, or a weighting index.

66

66. The computer-readable medium of claim 65 , wherein the weighting information comprises a weighting index, and wherein the weighting index indicates which prediction and what weighting factor is used for a coding level.

67

67. The apparatus of claim 63 , wherein the instructions further cause the processor to disable generalized residual prediction (GRP) and enable only weighted difference prediction (WDP).

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

August 2, 2013

Publication Date

May 2, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Weighted difference prediction under the framework of generalized residual prediction” (US-9641836). https://patentable.app/patents/US-9641836

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.