# US 6,061,399 A · Method and apparatus for information stream frame synchronization

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 6,061,399 A
- Document ID: US6061399A
- Status: Granted
- Kind: A
- Application number: 08/864,325
- Filed: 1997-05-28
- Granted: 2000-05-09
- Earliest claimed: 1997-05-28
- Assignees: Sarnoff Corporation
- Inventors: Paul Wallace Lyons; John Prickett Beltz; Alfonse Anthony Acampora
- Web page: https://patentgrep.com/patent/US6061399A

## CPC

- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- H04N 21/23406: {involving management of server-side video buffer}
- H04N 21/2343: involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements {(video transcoding H04N19/40; media packet handling at the source H04L65/762)}
- H04N 21/23605: {Creation or processing of packetized elementary streams [PES]}
- H04N 21/23608: {Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A timing synchronization method and apparatus for processing a compressed information stream comprising a plurality of information segments representative of a sequence of information frames. Information segments representative of information frames are deleted in response to an indicium of buffer overutilization.

## Claims

### Claim 1

Apparatus for processing a compressed information stream to produce an output information stream, said compressed information stream representing a sequence of compressed information frames that have been encoded according to a first timing reference, said apparatus comprising:
an input buffer, coupled to a controller, for receiving said compressed information stream and providing a buffered information stream; and
a frame sequence adjuster, coupled to said controller, for selectively adding and deleting information frames from said buffered information stream to produce said output information stream;
said controller, in response to an indicia of input buffer utilization exceeding a first threshold level, causing said input buffer to delete at least one information frame from said output information stream;
said controller, in response to a calculated utilization level of a buffer suitable for receiving said output stream exceeding a second threshold level, causing said frame sequence adjuster to delete at least one information frame from said output information stream;
said controller, in response to said calculated utilization level of a buffer suitable for receiving said output stream being below a third threshold level, causing said frame sequence adjuster to add at least one information frame to said output information stream.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein:
said indicia of input buffer utilization comprises indicium of a difference in flow rate of said output information stream and said compressed information stream.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein:
said frame sequence adjuster comprises storage means for storing at least a portion of said buffered information stream; and
said indicia of input buffer utilization comprises indicium of a difference in flow rate of said output information stream and said compressed information stream.

### Claim 4 (depends on 3)

The apparatus of claim 3 wherein:
said frame sequence adjuster deletes an information frame by removing said frame to be deleted from said storage means; and
said frame sequence adjuster adds an information frame by repeated an information frame.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein:
said controller, in a nonselected mode of operation, comparing said calculated utilization level of said buffer receiving said output stream to a calculated utilization level of said buffer receiving a presently selected information stream; and
said controller, in a selected mode of operation, causing said output information stream to be provided to said buffer in place of said presently selected information stream, said controller entering said selected mode of operation when said calculated utilization levels are substantially equal.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein said controller, in a nonselected mode of operation, causes said frame sequence adjuster to store said compressed information stream such that an information frame of a first predetermined type will be coupled to an output upon entering a selected mode of operation.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein said controller, in a nonselected mode of operation, causes said frame sequence adjuster to store said compressed information stream such that an information frame of a first predetermined type will be coupled to an output upon entering a selected mode of operation.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein said utilization level of a buffer receiving said output stream is calculated using presentation time stamp (PTS), decode time stamp (DTS) and program clock reference (PCR) information included within said compressed information stream.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein said utilization level of a buffer receiving said output stream comprises a video buffer verifier (VBV) calculation.

### Claim 10

A method of processing at least one compressed image stream to produce a compressed output information stream, each compressed information stream representing a respective sequence of compressed image frames, said output information stream being processed in a manner tending to avoid decoder buffer underflow and overflow conditions, said method comprising the steps of:
receiving, via an input buffer, a first compressed information stream and providing a buffered information stream therefrom, said buffered information stream being further processed by a frame sequence adjuster to form a processed information stream;
deleting, from said input buffer, at least one information frame in response to an input buffer utilization level exceeding a first threshold level;
calculating a utilization level of a decoder buffer receiving said buffered information stream to provide a first calculated utilization level;
deleting, using said frame sequence adjuster, at least one information frame from said buffered information stream in response to said calculated utilization level exceeding a second threshold level; and
adding, using said frame sequence adjuster, at least one information frame to said buffered information stream in response to said calculated utilization level being below a third threshold level.

### Claim 11 (depends on 10)

The method of claim 10, further comprising the steps of:
calculating a utilization level of a decoder buffer receiving a second compressed image stream to provide a second calculated utilization level, said second compressed information stream being presently selected for transport encoding;
comparing said first and second calculated utilization levels; and
selecting said processed information stream for transport encoding when said first and second calculated utilization levels are substantially equal.

### Claim 12 (depends on 11)

The method of claim 11, further comprising the steps of:
deleting, using said frame sequence adjuster, at least one information frame from said buffered information stream in response to said first calculated utilization level being larger than said second calculated utilization level; and
adding, using said frame sequence adjuster, at least one information frame to said buffered information stream in response to said first calculated utilization level being smaller than said second calculated utilization level.

### Claim 13 (depends on 10)

The method of claim 10, wherein said first calculated decoder utilization levels comprises video buffer verifier (VBV) level.

### Claim 14 (depends on 13)

The method of claim 13, wherein said VBV level is calculated using time stamp information within said processed information stream.

### Claim 15 (depends on 14)

The method of claim 14, wherein said time stamp information comprises at least one of a presentation time stamp (PTS), a decode time stamp (DTS) and a program clock reference (PCR).

### Claim 16 (depends on 10)

The method of claim 10, wherein said input buffer utilization level indicates a difference between a timing reference used to encode said first compressed information stream and a timing reference used to process said buffered and processed information streams.

### Claim 17 (depends on 10)

The method of claim 10 wherein said information frames represent MPEG video access units.

### Claim 18 (depends on 17)

The method of claim 17 wherein said deleted information frames comprise B-frames.
