IP Library Patent Application 12838139
Patent Application
App. No. 12/838,139

Data Compression for Video

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 None
App. No.
12/838,139
Abstract

A method of encoding a video signal for transmission, comprising: receiving a video signal comprising a plurality of video frames, each frame being divided into a plurality of image portions; for each of a plurality of target ones of said image portions to be encoded, selecting a respective reference portion, generating respective residual data based on the target portion relative to the respective reference portion; during ongoing encoding of the video signal, generating a table of commonly usable reference portions and transmitting an indication of the table to a decoder; and generating an encoded bitstream comprising the residual data together with side information identifying the selected reference portions by reference to an entry in said table, and transmitting the encoded bitstream to the decoder.

Claims (51)

1 . A method of encoding a video signal for transmission, comprising:

receiving a video signal comprising a plurality of video frames, each frame being divided into a plurality of image portions;

for each of a plurality of target ones of said image portions to be encoded, selecting a respective reference portion, and generating difference data for the target image portion relative to the respective reference portion;

during ongoing encoding of the video signal, generating a table identifying a subset of commonly usable reference portions and transmitting an indication of the table to a decoder; and

generating an encoded bitstream comprising the difference data together with side information identifying the selected reference portions by reference to an entry in said table, and transmitting the encoded bitstream to a decoder.

2 . The method of claim 1 , comprising periodically updating the table during ongoing encoding.

3 . The method of claim 1 , comprising periodically transmitting an indication of the updated table to the decoder during ongoing encoding.

4 . The method of claim 1 , wherein the indication of each table is transmitted as part of the bitstream.

5 . The method of claim 1 , wherein each of said portions comprises a plurality of coefficients, and the transmitted indication of the table comprises the coefficients of said subset of reference portions.

6 . The method of claim 1 , wherein one or more of said subset of reference portions are artificial portions rather than actual portions from a frame.

7 . The method of claim 6 , comprising determining the one or more artificial reference portions by averaging, interpolating or extrapolating from one or more actual image portions from one or more of said frames.

8 . The method of claim 1 , wherein one or more of said subset of reference portions are actual image portions from one or more of said frames.

9 . The method of claim 1 , wherein the selection comprises: transforming the image portions from spatial domain coefficients to transform domain coefficients, and selecting a respective reference portion for each target portion based on a similarity of their transform domain coefficients.

10 . The method of claim 9 , wherein the difference data comprises a difference between the transform domain coefficients of the reference portion and the target image portion.

11 . The method of claim 1 , comprising assigning a respective index value to the target image portion and each of a plurality of the reference portions;

wherein the selection of the reference portion for each target image portion comprises selecting a subset of candidate portions having an index value within a predetermined range of the target image portion, and selecting the respective reference portion from amongst the candidate portions.

12 . The method of claim 11 , wherein the index value is a measure of energy of the respective portion.

13 . The method of claim 9 , wherein the energy comprises one of: a number of non-zero transform domain coefficients in the respective portion, a number of transform domain coefficients having a value of zero in the respective portion, and an average or total of a modulus of the transform domain coefficients of the respective portion.

14 . The method of claim 1 , wherein the selection of the reference portion is based on a determination of a number of bits that would be required in the encoded bitstream to encode the target image portion.

15 . The method of claim 11 , wherein the selection of the reference portion from amongst the candidate portions is based on a determination of a number of bits that would be required in the encoded bitstream to encode the target image portion relative to each of the candidate portions.

16 . The method of claim 14 , wherein the determination of the number of bits required to encode the target portion takes into account the number of bits required for the difference data and the number of bits required for the side information.

17 . The method of claim 1 , comprising: including a flag in said bitstream indicating whether or not reference portions are signalled by reference to said table.

18 . The method of claim 1 , wherein each of said image portions is a block, macroblock or sub-block.

19 . The method of claim 1 , wherein some image portions of said video signal are encoded by means of said look-up table, and other image portions of said video signal are encoded by means of a super-resolution scheme whereby a higher-resolution image can be reconstructed at the decoder based on signalling of actual or simulated motion of lower-resolution units.

20 . The method of claim 1 , wherein one or more of said subset of reference portions are for predicting a scaling or rotation of the target image portion.

21 . An encoder for encoding a video signal for transmission, comprising:

an input for receiving a video signal comprising a plurality of video frames, each frame being divided into a plurality of image portions;

processing apparatus configured, for each of a plurality of target ones of said image portions to be encoded, to select a respective reference portion, and generate difference data for the target image portion relative to the respective reference portion;

wherein the processing apparatus is further configured, during ongoing encoding of the video signal, to generate a table identifying a subset of commonly usable reference portions and transmit an indication of the table to a decoder; and

the encoder further comprises an output module configured to generate an encoded bitstream comprising the difference data together with side information identifying the selected reference portions by reference to an entry in said list, and transmit the encoded bitstream to the decoder.

22 . (canceled)

23 . An encoder program product for encoding a video signal for transmission, the encoder program product comprising software embodied on a computer-readable medium and being configured so as when executed on a processor to:

receive a video signal comprising a plurality of video frames, each frame being divided into a plurality of image portions;

for each of a plurality of target ones of said image portions to be encoded, select a respective reference portion, and generate difference data for the target image portion relative to the respective reference portion;

during ongoing encoding of the video signal, generate a table identifying a subset of commonly usable reference portions and transmitting an indication of the table to a decoder; and

generate an encoded bitstream comprising the difference data together with side information identifying the selected reference portions by reference to an entry in said table, and output the encoded bitstream for transmission to the decoder.

24 . (canceled)

25 . A bitstream encoding a video signal comprising a plurality of video frames, each frame being divided into a plurality of image portions, the bitstream comprising: difference data for a plurality of said portions to be predicted from respective reference portions, an indication of a table identifying a subset of commonly used reference portions, and side information identifying the reference portions by reference to entries in the table.

26 . The bitstream of claim 25 , comprising indications a plurality of updated tables each identifying a subset of commonly used reference portions for a respective period of the bitstream, each period corresponding to a plurality of said image portions, wherein the side information in each period identifies the reference portions by reference to entries in the respective updated table.

27 . (canceled)

28 . A network equipment comprising:

a transmission medium carrying a bitstream including a plurality of video frames, each frame being divided into a plurality of image portions, the bitstream having difference data for a plurality of said portions to be predicted from respective reference portions, an indication of a table identifying a subset of commonly used reference portions, and side information identifying the reference portions by reference to entries in the table.

29 . A method of decoding an encoded video signal, comprising:

receiving a bitstream including a plurality of video frames, each frame being divided into a plurality of image portions, the bitstream having difference data for a plurality of said portions to be predicted from respective reference portions, an indication of a table identifying a subset of commonly used reference portions, and side information identifying the reference portions by reference to entries in the table; and

identifying the respective reference portion for each target portion based on the side information and said table, and determining the target portion from the respective reference portion and difference data.

30 . A decoder for decoding an encoded video signal, comprising:

an input for receiving a bitstream including a plurality of video frames, each frame being divided into a plurality of image portions, the bitstream including difference data for a plurality of said portions to be predicted from respective reference portions, an indication of a table identifying a subset of commonly used reference portions, and side information identifying the reference portions by reference to entries in the table; and

processing apparatus configured to identify the respective reference portion for each target portion based on the side information and said table, and to determine the target portion from the respective reference portion and difference data.

31 . A decoder program product for decoding an encoded video signal, the decoder program product comprising code embodied on a computer-readable medium and configured so as when executed by one or more processors to:

receive a bitstream including a plurality of video frames, each frame being divided into a plurality of image portions, the bitstream having difference data for a plurality of said portions to be predicted from respective reference portions, an indication of a table identifying a subset of commonly used reference portions, and side information identifying the reference portions by reference to entries in the table; and

identify the respective reference portion for each target portion based on the side information and said table, and determine the target portion from the respective reference portion and difference data.

Assignments (4)
CHANGE OF NAME Recorded Jul 31, 2012
From: SKYPE LIMITED
To: SKYPE
Reel/Frame 028691/0596 →
RELEASE OF SECURITY INTEREST Recorded Nov 29, 2011
From: JPMORGAN CHASE BANK, N.A.
To: SKYPE LIMITED
Reel/Frame 027289/0923 →
SECURITY AGREEMENT Recorded Mar 17, 2011
From: SKYPE LIMITED; SKYPE IRELAND TECHNOLOGIES HOLDINGS LIMITED
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 025970/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2010
From: BIVOLARSKY, LAZAR; VAFIN, RENAT; NILSSON, MATTIAS; ANDERSEN, SOREN VANG
To: SKYPE LIMITED
Reel/Frame 025435/0062 →