1. A method comprising:
obtaining compressed video content within a video content processing module, a portion of a document structure of the compressed video content conforming to a predefined codec, the portion of the document structure including a plurality of video frames;
decrypting the compressed video content in accordance with a digital rights management data encryption;
adding information in an extension frame associated with the portion of the document structure, the adding comprising adding information to identify a decoding technique usable to reverse an encoding technique;
applying the encoding technique to content of one or more key frames of the plurality of video frames after the decrypting; and
providing the compressed video content, including the encoded content, to a media player including a codec conforming to the predefined codec to allow the media player to (i) identify the decoding technique based on the identifying information added to the extension frame, and (ii) reverse the encoding technique applied to the content of the one or more key frames while decompressing the compressed video content.
2. The method of claim 1, further comprising:
wherein adding information in an extension frame comprises introducing the extension frame into the portion of the document structure.
3. The method of claim 1, where the media player recognizes the extension frame and applies the decoding technique to the compressed video content within a decompression stage based upon the extension frame.
4. The method of claim 1, further comprising:
populating the extension frame with decoding information related to the encoding technique.
5. The method of claim 4, where the decoding information includes a decoding key which can be applied by the media player to decode the encoding technique applied to the compressed video content.
6. The method of claim 4, where the decoding information corresponds to a substitution box applied to the one or more of the plurality of video frames.
7. The method of claim 1, where the encoding technique is a data scrambling technique.
8. The method of claim 1, where the encoding technique is applied to only the one or more key frames of the plurality of video frames.
9. The method of claim 1, where
the predefined codec conforms to a H.263 or H.264 standard,
the plurality of video frames are network abstraction layer (NAL) units, and
the extension frame is a supplemental enhanced information (SEI) NAL unit.
10. The method of claim 9, where the SEI NAL unit includes a universally unique identifier (UUID) known by the media player.
11. The method of claim 1, where
the predefined codec conforms to a VP6 standard,
the plurality of video frames are VP6-compliant samples, and
the extension frame is a control buffer appended to the end of a video buffer.
12. A system comprising:
a display device;
a computer storage medium; and
one or more processors operable to interact with the computer storage medium and the display device and to perform operations comprising:
receiving, at a digital rights management module, encrypted compressed video content, where
a portion of the encrypted compressed video content conforms to a predefined video codec having an associated optional property, the portion including a plurality of video frames, and where
video content including the optional property is readable by any media player including a codec conforming to the predefined video codec;
decrypting the compressed video content;
modifying, using a video content processing module, the decrypted compressed video content, where the video content processing module
adds information in an extension frame in the portion,
applies an encoding technique to only content of one or more key frames of the plurality of video frames, and
identifies a decoding technique within the extension frame by adding a decoding key to the extension frame, the decoding technique usable to reverse the applied encoding technique; and
identifying, at a media player, the identified decoding technique based on the decoding key within the extension frame of the compressed video content, where the media player reverses the encoding technique applied to the compressed video content while decompressing the compressed video content.
13. The system of claim 12, where the video content processing module populates the extension frame with decoding information related to the encoding technique.
14. The system of claim 13, where the decoding information corresponds to a substitution box applied to the one or more of the plurality of video frames.
15. The system of claim 12, where the predefined codec conforms to at least one of a H.263 standard, a H.264 standard, and a VP6 standard.
16. A non-transitory computer-readable medium encoding a computer program product operable to cause data processing apparatus to perform operations comprising:
obtaining compressed video content within a video content processing module, a portion of a document structure of the compressed video content conforming to a predefined codec, the portion of the document structure including a plurality of video frames;
decrypting the compressed video content in accordance with a digital rights management data encryption;
adding information in an extension frame associated with the portion of the document structure, the adding comprising adding information to identify a decoding technique usable to reverse an encoding technique;
applying the encoding technique to content of one or more key frames of the plurality of video frames after the decrypting; and
providing the compressed video content, including the encoded content, to a media player including a codec conforming to the predefined codec to allow the media player to (i) identify the decoding technique based on the identifying information added to the extension frame, and (ii) reverse the encoding technique applied to the content of the one or more key frames while decompressing the compressed video content.
17. The computer-readable medium of claim 16, where the media player recognizes the extension frame and applies the decoding technique to the compressed video content within a decompression stage based upon the extension frame.
18. The computer-readable medium of claim 16, where the operations further comprise:
populating the extension frame with decoding information related to the encoding technique.
19. The computer-readable medium of claim 18, where the decoding information includes a decoding key which can be applied by the media player to decode the encoding technique applied to the compressed video content.
20. The computer-readable medium of claim 16, where the encoding technique is a data scrambling technique.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of performing time drift compensation in a receiver, the method comprising the steps of:
receiving a signal, which comprises chips, at the receiver;
producing a control pulse after having received a certain number of chips of the received signal;
controlling a variable delay applied to the received signal;
sending, to demodulation units in the receiver, a delayed signal in which chips have been omitted or duplicated on the basis of said control pulse;
supplying, to said demodulation units in the receiver, a compensation signal that indicates whether chips have been omitted or duplicated in the delayed signal; and
demodulating the delayed signal such that the demodulation units consider the omission or duplication of chips in the delayed signal.
2. The method according to claim 1, further comprising the step of synchronizing the compensation signal to the control pulse.
3. The method according to claim 1, further comprising the step of aligning said control pulse with a symbol boundary.
4. The method according to claim 1, wherein the received signal comprises both data chips and pilot chips and the step of demodulating is performed in a first and a second demodulation unit and further comprises the step of:
demodulating the received pilot chips in the first demodulation unit to produce demodulated pilot chips and the received data chips in the second demodulation unit to produce demodulated data chips.
5. The method according to claim 1, wherein the compensation signal is given a first value which indicates that a chip has been omitted in the delayed signal and a second value which indicates that a chip has been duplicated in the delayed signal.
6. The method according to claim 1, wherein the step of demodulating chips comprises the steps of:
descrambling the delayed chips; and
despreading the descrambled chips.
7. The method according to claim 4, further comprising the step of:
integrating the demodulated pilot chips to create a pilot symbol and the demodulated data chips to create a data symbol;
8. The method according to claim 7, wherein said first and second values of the compensation signal control scrambling codes and spreading codes sent to the demodulation units such that a chip is omitted in the respective code on reception of a compensation signal having a first value, and a chip is duplicated in the respective code on reception of a compensation signal having a second value, and wherein said first and second value of the compensation signal further control the integrators such that a chip is omitted in the integration on reception of the first value, and a chip is duplicated in the integration on reception of the second value.
9. The method according to claim 8, further comprising the steps of:
delivering, from the first demodulation unit to the second demodulation unit channel estimation information derived from the pilot symbol; and
employing said channel estimation information at the second demodulation unit to improve said data symbol by taking into account channel parameters.
10. A receiver for performing time drift compensation, the receiver comprising:
a timer;
a common delay unit; and
demodulation units; wherein
the timer is arranged to produce a control pulse after having received a certain number of chips of a received signal;
the common delay unit is arranged to apply a variable delay to the received signal and thus send a delayed signal to the demodulation units in the receiver, in which delayed signal chips have been omitted or duplicated on the basis of said control pulse;
the timer is further arranged to supply, to said demodulation units in the receiver, a compensation signal that indicates whether chips have been omitted or duplicated in the delayed signal; and
the demodulation units are arranged to demodulate the delayed signal such that the demodulation units consider the omission or duplication of chips in the delayed signal.
11. The receiver according to claim 10, wherein the timer is further arranged to synchronize the compensation signal to the control pulse.
12. The receiver according to claim 10, wherein the timer is further arranged to align said control pulse with a symbol boundary.
13. The receiver according to claim 10, wherein the received signal comprises both data chips and pilot chips and the demodulation is performed in a first and a second demodulation unit, the first demodulation unit being further arranged to demodulate the received pilot chips to produce demodulated pilot chips and the second demodulation unit being further arranged to demodulate the received data chips to produce demodulated data chips.
14. The receiver according to claim 10, wherein the timer is further arranged to give the compensation signal a first value which indicates that a chip has been omitted from the delayed signal and a second value which indicates that a chip has been duplicated in the delayed signal.
15. The receiver according to claim 10, wherein the demodulation units comprises:
descrambling code generators employed to descramble the delayed chips; and
despreading code generators employed to despread the descrambled chips.
16. The receiver according to claim 10, wherein the demodulation units comprises:
integrators arranged to integrate the demodulated pilot chips to create a pilot symbol and the demodulated data chips to create a data symbol.
17. The receiver according to claim 10, wherein said first and second values of the compensation signal control scrambling codes and spreading codes supplied to the demodulation units such that a chip is omitted from the respective code on reception of a compensation signal having a first value, and a chip is duplicated in the respective code on reception of a compensation signal having a second value, and wherein said first and second value of the compensation signals further control the integrators such that a chip is omitted in the integration on reception of the first value, and a chip is duplicated in the integration on reception of the second value.
18. The receiver according to claim 17, further comprising:
a channel estimation integrator arranged to deliver, from the first demodulation unit to the second demodulation unit channel estimation information derived from the pilot symbol, wherein said channel estimation information is employed at the second demodulation unit to improve said data symbol by taking into account channel parameters.