IP Library Granted Patent US 8,908,761
Granted Patent B2
US 8,908,761 · App. 13/274,803 · Granted Dec 9, 2014

Video coding

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 8,908,761
App. No.
13/274,803
Granted
Dec 9, 2014
Kind
B2
Abstract

A method comprising: encoding a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream; transmitting the encoded video stream over a lossy channel to be decoded at a receiver to produce decoded video; and performing a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel; wherein the recovery operation is triggered by a report fed back from the receiver indicative of loss; and wherein the recovery operation is performed over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames.

Claims (56)

1. A method comprising:

encoding a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream;

transmitting the encoded video stream over a lossy channel to be decoded at a receiver to produce decoded video;

performing a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel; and

maintaining an error propagation distortion map mapping one or more estimates of distortion due to said error propagation over different respective portions of the video image, wherein said recovery operation is triggered by a report fed back from the receiver indicative of loss;

wherein the recovery operation is performed over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames, and wherein each of the partial frame regions encompasses one or more of said portions, and the partial frame regions are refreshed according to an order of priority over said number of frames, the order of priority being determined in dependence, at least in part, on the one or more estimates of distortion in the error propagation distortion map for the different portions, such that partial frame regions corresponding to greater estimated error propagation are refreshed in earlier of said number of frames and partial frame regions corresponding to lesser estimated error propagation are refreshed in later of said number of frames.

2. The method of claim 1 , wherein the refresh operation refreshes the encoding of the whole of said video image over said number of frames.

3. The method of claim 1 , wherein the recovery operation comprises encoding one or more of said partial frame regions using intra frame encoding instead of said inter frame encoding.

4. The method of claim 1 , wherein the recovery operation comprises encoding one or more of said partial frame regions using inter prediction relative to a portion of one of said frames that is known to be error free due to acknowledgement of receipt fed back from the receiver.

5. The method of claim 1 , wherein at each of the respective frames, only one or a subset of the partial frame regions corresponding to a largest estimate of error propagation distortion, based on the one or more estimates for said portions in the error propagation distortion map, are refreshed.

6. The method of claim 1 , wherein said number of frames is equal to or greater than the number of said partial frame regions into which the video image can be divisible in area.

7. The method of claim 1 , comprising updating the error propagation map to reflect the refreshing by the recovery operation.

8. The method of claim 1 , wherein each of said partial frame regions encompasses a plurality of said portions, and a corresponding estimated error propagation distortion for each partial frame region is determined based on the estimates for the respective plurality of portions in the error propagation map.

9. The method of claim 1 , wherein the one or more estimates in the error propagation map are based on a first contribution representing an estimate of the distortion that would be experienced, if the target portion does arrive over the channel, due to non-arrival of a reference portion in the target portion's history from which prediction of the target portion depends, and a second contribution representing an estimate of distortion that would be experienced due to concealment.

10. The method of claim 9 , wherein the second contribution comprises a contribution representing a measure of concealment distortion of the target portion relative to an image portion that would be used to conceal loss of the target portion if the target portion is lost over the channel, and a contribution representing an estimate of distortion that would be experienced due to loss of an image portion in the target portion's history upon which concealment of the target portion depends.

11. A transmitting terminal comprising:

an encoder arranged to encode a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream; and

a transmitter arranged to transmit the encoded video stream over a lossy channel to be decoded at a receiving terminal to produce decoded video;

wherein the encoder is configured to perform a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel;

wherein the encoder is configured such that said recovery operation is triggered by a report fed back from the receiving terminal indicative of loss;

wherein the encoder is configured to perform said recovery operation over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames;

wherein the transmitting terminal is configured to maintain an error propagation distortion map mapping one or more estimates of distortion due to said error propagation over different respective portions of the video image; and

wherein the encoder is configured such that each of the partial frame regions encompasses one or more of said portions, and the partial frame regions are refreshed according to an order of priority determined in dependence, at least in part, on the one or more estimates of distortion in the error propagation distortion map for the different portions, such that partial frame regions corresponding to greater estimated error propagation are refreshed in earlier of said number of frames and partial frame regions corresponding to lesser estimated error propagation are refreshed in later of said number of frames.

12. The transmitting terminal of claim 11 , wherein the encoder is configured such that the refresh operation refreshes the encoding of the whole of said video image over said number of frames.

13. The transmitting terminal of claim 11 , wherein the encoder is configured such that the recovery operation comprises encoding one or more of said partial frame regions using intra frame encoding instead of said inter frame encoding.

14. The transmitting terminal of claim 11 , wherein the encoder is configured such that the recovery operation comprises encoding one or more of said partial frame regions using inter prediction relative to a portion of one of said frames that is known to be error free due to acknowledgement of receipt fed back from the receiver.

15. A transmitting terminal comprising:

at least one processor; and

g computer program product embodied on at least one computer readable storage memory device, the computer program product comprising code configured so as, responsive to execution by the at least one processor, perform operations comprising:

encoding a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream;

transmitting the encoded video stream over a lossy channel to be decoded at a receiver to produce decoded video; and

performing a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel;

wherein said recovery operation is triggered by a report fed back from the receiver indicative of loss;

wherein the recovery operation is performed over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames; and

wherein the partial frame regions are refreshed in an order of priority over said number of frames, the order of priority being determined based, at least in part, on one or more estimates in an error propagation distortion map, such that partial frame regions corresponding to greater estimated error propagation are refreshed in earlier of said number of frames and partial frame regions corresponding to lesser estimated error propagation are refreshed in later of said number of frames.

16. The transmitting terminal of claim 15 , wherein the code is further configured such that the refresh operation refreshes the encoding of the whole of said video image over said number of frames.

17. The transmitting terminal of claim 15 , wherein the code is further configured such that the recovery operation comprises encoding one or more of said partial frame regions using intra frame encoding instead of said inter frame encoding.

18. The transmitting terminal of claim 15 , wherein the code is configured such that the recovery operation comprises encoding one or more of said partial frame regions using inter prediction relative to a portion of one of said frames that is known to be error free due to acknowledgement of receipt fed back from the receiver.

19. The transmitting terminal of claim 15 , wherein:

the code is further configured to perform operations comprising maintaining the error propagation distortion map by mapping one or more estimates of distortion due to said error propagation over different respective portions of the video image.

20. A method comprising:

encoding a video image at each of a plurality of frames, including by using inter frame encoding to encode at least portions of some of the frames, thereby generating an encoded video stream;

transmitting the encoded video stream over a lossy channel to be decoded at a receiver to produce decoded video; and

performing a recovery operation to refresh the encoding of the video image, cutting off error propagation that has occurred in the decoded video due to an effect of inter prediction in presence of loss over said channel;

wherein said recovery operation is triggered by a report fed back from the receiver indicative of loss;

wherein the recovery operation is performed over a plural number of frames, refreshing the encoding of different partial frame regions at different respective frames; and

wherein the partial frame regions are refreshed in an order of priority over said number of frames, the order of priority being determined based, at least in part, on the estimates in the error propagation distortion map, such that partial frame regions corresponding to greater estimated error propagation are refreshed in earlier of said number of frames and partial frame regions corresponding to lesser estimated error propagation are refreshed in later of said number of frames.

21. The method of claim 20 , wherein the refresh operation refreshes the encoding of the whole of said video image over said number of frames.

22. The method of claim 20 , wherein the recovery operation comprises encoding one or more of said partial frame regions using intra frame encoding instead of said inter frame encoding.

23. The method of claim 20 , wherein the recovery operation comprises encoding one or more of said partial frame regions using inter prediction relative to a portion of one of said frames that is known to be error free due to acknowledgement of receipt fed back from the receiver.

24. The method of claim 20 , wherein at each of the respective frames, only one or a subset of the partial frame regions corresponding to a largest estimate of error propagation distortion, based on the estimates for said portions in the error propagation distortion map, are refreshed.

25. The method of claim 20 , wherein said number of frames is equal to or greater than the number of said partial frame regions into which the video image can be divisible in area.

26. The method of claim 20 , comprising updating the error propagation map to reflect the refreshing by the recovery operation.

27. The method of claim 20 , wherein each of said partial frame regions encompasses a plurality of said portions, and a corresponding estimated error propagation distortion for each partial frame region is determined based, at least in part, on estimates for the respective plurality of portions in the error propagation map.

28. The method of claim 20 , wherein the estimates in the error propagation map are based on a first contribution representing an estimate of the distortion that would be experienced, if the target portion does arrive over the channel, due to non-arrival of a reference portion in the target portion's history from which prediction of the target portion depends, and a second contribution representing an estimate of distortion that would be experienced due to concealment.

29. The method of claim 28 , wherein the second contribution comprises a contribution representing a measure of concealment distortion of the target portion relative to an image portion that would be used to conceal loss of the target portion if the target portion is lost over the channel, and a contribution representing an estimate of distortion that would be experienced due to loss of an image portion in the target portion's history upon which concealment of the target portion depends.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: SKYPE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054559/0917 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED ON REEL 027610 FRAME 0097. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 26, 2017
From: NILSSON, MATTIAS; VAFIN, RENAT; ANDERSEN, SOREN VANG
To: SKYPE
Reel/Frame 042588/0601 →
CHANGE OF NAME Recorded Jul 31, 2012
From: SKYPE LIMITED
To: SKYPE
Reel/Frame 028691/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2012
From: NILSSON, MATTIAS; VAFIN, RENAT; ANDERSEN, SOREN VANG
To: SKYPE LIMITED
Reel/Frame 027610/0097 →