IP Library Granted Patent US 7,787,624
Granted Patent B2
US 7,787,624 · App. 11/331,579 · Granted Aug 31, 2010

Method for inserting synchronization markers into a video stream, compatible with a block cipher

Assignee: STMicroelectronics SA
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 7,787,624
App. No.
11/331,579
Granted
Aug 31, 2010
Kind
B2
Abstract

A method inserts synchronization markers into a standardized stream of compressed and ciphered data, wherein at least one part of the compressed data stream is ciphered bit by bit, by block cipher, and wherein a synchronization marker is only inserted into the compressed data stream after the number of ciphered bits has reached or exceeded the number of bits of the cipher block.

Claims (76)

1. A method, comprising:

inserting synchronization markers into a standardized stream of compressed MPEG format video data using at least one processor by:

ciphering only part of the stream of compressed data bit by bit, by block cipher using a cipher block having a number of bits, thereby producing a number of ciphered bits; and

inserting a synchronization marker into the stream of compressed data only after the number of ciphered bits has reached or exceeded the number of bits of the cipher block, wherein bits to be ciphered in the compressed data stream are put into a first buffer having a dimension that is equal to the number of bits of the cipher block and a synchronization marker is inserted into the compressed data stream after the buffer has been filled.

2. The method according to claim 1 , further comprising:

a) inserting a synchronization marker and a header in the compressed data stream before processing a first macroblock of the data stream;

then, for the first macroblock and following macroblocks:

b) concatenating motion data in a second buffer;

c) extracting the bits to be ciphered from the motion data and concatenating the extracted bits in the first buffer;

d) concatenating texture data in a third buffer;

e) checking the first buffer to see if it is full; if not, repeating the operations b) to e) for a following macroblock;

f) if the first buffer is full, ciphering the bits in the first buffer, putting the ciphered bits back one by one into the second buffer at the position they occupied before they were ciphered, and emptying the first buffer;

g) performing a check to see whether a sum of the total number of bits put into the second buffer and the total number of bits put into the third buffer exceeds a threshold; if not, then the operations a) to d) are repeated for a following macroblock;

h) if the threshold is exceeded, then successively placing the selectively ciphered motion data contained in the second buffer, a motion marker separating the motion data from the texture data, and the texture data behind the header; emptying the second and third buffers; and repeating operations a) to h) as necessary.

3. The method according to claim 1 wherein a 64-bit, 128-bit, 192-bit, or 256-bit block cipher algorithm is used.

4. The method according to claim 1 wherein one or more bits of data of P and B type image motion vectors are ciphered.

5. The method according to claim 1 wherein only one bit of data of P and B type image motion vectors is ciphered.

6. The method according to claim 1 wherein one or more bits of I, P and/or B type image texture data are ciphered.

7. The method according to claim 1 wherein only one bit of I, P and/or B type image texture data (MB TXi ) is ciphered.

8. A method, comprising:

inserting synchronization markers into a standardized stream of compressed data using at least one processor, by:

ciphering at least one part of the stream of compressed data bit by bit, by block cipher using a cipher block having a number of bits, thereby producing a number of ciphered bits;

counting a total number of bits of the data stream since a previous synchronization marker; and

inserting a new synchronization marker only:

after the number of ciphered bits has reached or exceeded the number of bits of the cipher block; and

after the total number of bits counted has reached or exceeded a threshold, said threshold being higher than the number of bits of the cipher block.

9. A decoder of formatted and compressed audio or video data, comprising:

at least one processor;

a first buffer provided for temporarily receiving selected data bits of a data stream; and

a second buffer that receives and stores a plurality of bits of the data stream, wherein the at least one processor is configured to implement:

block decipher means for ciphering the bits stored in the first buffer;

means for extracting the selected data bits from the second buffer and concatenating the selected data bits in the first buffer; and

means for activating the block decipher means to cause the block decipher means to decipher the bits stored in the first buffer when the first buffer is full, for replacing the selected data bits in the data stream with the deciphered bits, and for emptying the first buffer, the first buffer having a size equal to a number of bits of a block of the block decipher means, or equal to a whole multiple of this number.

10. An encoder of formatted and compressed audio or video data, comprising:

at least one processor;

a first buffer provided for temporarily receiving selected data bits of a data stream; and

a second buffer that receives and stores a plurality of bits of the data stream, wherein the at least one processor is configured to implement:

block cipher means for ciphering the bits stored in the first buffer;

means for extracting the selected data bits from the second buffer and concatenating the selected data bits in the first buffer; and

means for activating the block cipher means to cause of the block decipher means to decipher the bits stored in the first buffer when the first buffer is full, for replacing the selected data bits in the data stream with the ciphered bits, and for emptying the first buffer,

the first buffer having a size equal to a number of bits of a block of the block cipher means, or equal to a whole multiple of this number.

11. A computer-readable medium on which a program code is saved that causes a computer to broadcast a compressed data stream according to a method comprising:

ciphering at least one part of the stream of compressed data bit by bit, by block cipher using a cipher block having a number of bits, thereby producing a number of ciphered bits;

counting a total number of bits of the data stream since a previous synchronization marker; and

inserting a new synchronization marker into the stream of compressed data only:

after the number of ciphered bits has reached or exceeded the number of bits of the cipher block; and

the total number of bits counted has reached or exceeded a threshold, the threshold being higher than the number of bits of the cipher block.

12. The computer-readable medium according to claim 11 wherein one or more bits of data of P and B type image motion vectors are ciphered.

13. The computer-readable medium according to claim 11 wherein one or more bits of I, P and/or B type image texture data are ciphered.

14. A computer-readable medium on which program code is saved that causes a processor to perform a method, the method comprising:

ciphering one part of a stream of compressed MPEG format video data bit by bit, using a cipher block having a number of bits, thereby producing a number of ciphered bits; and

inserting a synchronization marker into the stream of compressed data only after the number of ciphered bits has reached or exceeded the number of bits of the cipher block, wherein bits to be ciphered in the compressed data stream are put into a first buffer having a dimension that is equal to the number of bits of the cipher block and a synchronization marker is inserted into the compressed data stream after the buffer has been filled.

15. The computer-readable medium according to claim 14 , wherein the method further comprises:

a) inserting a synchronization marker and a header in the compressed data stream before processing a first macroblock of the data stream;

then, for the first macroblock and following macroblocks:

b) concatenating motion data in a second buffer;

c) extracting the bits to be ciphered from the motion data and concatenating the extracted bits in the first buffer;

d) concatenating texture data in a third buffer;

e) checking the first buffer to see if it is full; if not, repeating the operations b) to e) for a following macroblock;

f) if the first buffer is full, ciphering the bits in the first buffer, putting the ciphered bits back one by one into the second buffer at the position they occupied before they were ciphered, and emptying the first buffer;

g) performing a check to see whether a sum of the total number of bits put into the second buffer and the total number of bits put into the third buffer exceeds a threshold; if not, then the operations a) to d) are repeated for a following macroblock;

h) if the threshold is exceeded, then successively placing the selectively ciphered motion data contained in the second buffer, a motion marker separating the motion data from the texture data, and the texture data behind the header; emptying the second and third buffers; and repeating operations a) to h) as necessary.

16. The method of claim 8 wherein the data are MPEG-format video data and wherein:

only part of the compressed data is ciphered bit by bit; and

bits to be ciphered in the compressed data stream are put into a first buffer having a dimension that is equal to the number of bits of the cipher block and a synchronization marker is inserted into the compressed data stream after the buffer has been filled.

17. A system, comprising:

at least one processor; and

a memory, wherein the at least one processor is configured to insert synchronization markers into a standardized stream of compressed data by:

ciphering at least one part of the stream of compressed data bit by bit, by block cipher having a number of bits, thereby producing a number of ciphered bits;

counting a total number of bits of the data stream since a previous synchronization marker; and

inserting a new synchronization marker only after:

the number of ciphered bits has reached or exceeded the number of bits of the cipher block; and

the total number of bits counted has reached or exceeded a threshold higher than the number of bits of the block cipher.

18. The system of claim 17 wherein:

only part of the compressed data is ciphered bit by bit; and

bits to be ciphered in the compressed data stream are put into a first buffer of the memory having a dimension that is equal to the number of bits of the block cipher and a synchronization marker is inserted into the compressed data stream after the buffer has been filled.

Assignments (2)
CHANGE OF NAME Recorded Apr 3, 2024
From: STMICROELECTRONICS SA
To: STMICROELECTRONICS FRANCE
Reel/Frame 067002/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2006
From: NICOLAI, JEAN
To: STMICROELECTRONICS S.A.
Reel/Frame 017531/0849 →
Priority Claims (1)
FR 03 08639 · Jul 16, 2003 · national
Continuity (2)
Continuation PCTFR200400179100 · Jul 8, 2004
Related Publication 20060182275A1 · Aug 17, 2006