# US 7,116,894 B1 · System and method for digital multimedia stream conversion

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

- Number: US 7,116,894 B1
- Document ID: US7116894B1
- Status: Granted
- Kind: B1
- Application number: 10/155,955
- Filed: 2002-05-24
- Granted: 2006-10-03
- Earliest claimed: 2002-05-24
- Assignees: Digeo, Inc.
- Inventors: Geoff Chatterton
- Web page: https://patentgrep.com/patent/US7116894B1

## CPC

- H04N 5/765: Interface circuits between an apparatus for recording and another apparatus
- H04N 21/4263: {involving specific tuning arrangements, e.g. two tuners}
- H04N 21/43615: {Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805)}
- H04N 21/4402: involving reformatting operations of video signals for household redistribution, storage or real-time display {(details of conversion of video standards at pixel level H04N7/01; video transcoding H04N19/40; adapting incoming signals to the display format of the display terminal G09G5/005; media handling at the source in data packet switching networks H04L65/764)}
- H04N 21/440209: {for formatting on an optical medium, e.g. DVD}
- H04N 21/4408: involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
- H04N 5/85: on discs or drums
- H04N 5/91: Television signal processing therefor
- H04N 9/8042: {involving data reduction}
- H04N 9/8063: {using time division multiplex of the PCM audio and PCM video signals}
- H04N 9/8205: {involving the multiplexing of an additional signal and the colour video signal}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for converting a program stream to a transport stream is described comprising: reading program stream packets from a digital versatile disk (“DVD”) based on user selections and navigation metadata contained on the DVD; extracting audio and video content packetized within the program stream packets; reading system clock reference (“SCR”) timestamps from the program stream packets, the SCR timestamps indicating relative times at which the audio and video should be rendered; determining a point within consecutively read program stream packets at which the SCR timestamps are non-consecutive; converting the SCR timestamps to program clock reference (“PCR”) timestamps interpretable by a transport stream decoder; and generating a transport stream of transport stream packets containing the audio and video content and using the PCR timestamps to provide for decode timing at the transport stream decoder; and generating a resynchronization signal causing the transport stream decoder to resynchronize with the transport stream when it receives corresponding non-consecutive PCR timestamps associated with the non-consecutive SCR timestamps.

## Claims

### Claim 1

A method for converting a program stream to a transport stream comprising:
reading program stream packets from a digital versatile disk (“DVD”) based on user selections and navigation metadata contained on said DVD;
extracting audio and video content packetized within said program stream packets;
reading system clock reference (“SCR”) timestamps from said program stream packets, said SCR timestamps Indicating relative times at which said audio and video should be rendered;
determining a point within consecutively read program stream packets at which said SCR timestamps are non-consecutive;
converting said SCR timestamps to program clock reference (“PCR”) timestamps interpretable by a transport stream decoder;
generating a transport stream of transport stream packets containing said audio and video content and using said PCR timestamps to provide for decode timing at said transport stream decoder; and
generating a resynchronization signal causing said transport stream decoder to resynchronize with said transport stream when it receives corresponding non-consecutive PCR timestamps associated with said nonconsecutive SCR timestamps.

### Claim 2 (depends on 1)

The method as in claim 1 further comprising:
decoding said transport stream with said transport stream decoder.

### Claim 3 (depends on 2)

The method as in claim 2 wherein said transport stream decoder is further configured to decode transport streams from one or more alternate transport stream sources.

### Claim 4 (depends on 3)

The method as in claim 3 wherein one of said alternate transport stream sources is a cable or satellite channel.

### Claim 5 (depends on 1)

The method as in claim 1 wherein said point within consecutively read program stream packets at which said SCR timestamps are non-consecutive comprises a non-seamless jump from a first program stream to a second program stream.

### Claim 6 (depends on 1)

The method as in claim 1 further comprising
determining that said audio content comprises AC-3 packets having an AC-3 data and an AC-3 headers; and
generating audio transport packets with pointers that point to said AC-3 data rather than said AC-3 headers.

### Claim 7 (depends on 1)

The method as in claim 1 wherein generating said transport stream further comprises:
assigning all transport stream packets containing audio content a first packet identification (“PID”) value; and
assigning all transport stream packets containing video content a second PID value.

### Claim 8 (depends on 7)

The method as in claim 7 further comprising:
maintaining said first and second PID values for said audio and video content, respectively, notwithstanding the fact that said audio content and said video content may be read from different and/or unrelated program streams.

### Claim 9

A system comprising:
a DVD navigation module to read program stream packets from a digital versatile disk (“DVD”) based on user inputs and navigation metadata contained on said DVD;
a repacketizer module to extract audio and video content packetized within said program stream packets;
a timestamp processing module to read system clock reference (“SCR”) timestamps from said program stream packets, said SCR timestamps indicating relative times at which said audio and video should be rendered, wherein at least some of said SCR timestamps are non-consecutive, said timestamp processing module to further convert said SCR timestamps to program clock reference (“PCR”) timestamps interpretable by a transport stream decoder;
wherein said repacketizer module generates a transport stream of transport stream packets containing said audio and video content and using said PCR values to provide for decode timing at said transport stream decoder; and
wherein said timestamp processing module generates a resynchronization signal causing said transport stream decoder to resynchronize with said transport stream when it receives non-consecutive PCR timestamps associated with said non-consecutive SCR timestamps.

### Claim 10 (depends on 9)

The system as in claim 9 wherein said transport stream decoder is further configured to decode transport streams from one or more alternate transport stream sources.

### Claim 11 (depends on 10)

The system as in claim 10 wherein one of said alternate transport stream sources is a cable or satellite channel.

### Claim 12 (depends on 9)

The system as in claim 9 wherein said point within consecutively read program stream packets at which said SCR timestamps are non-consecutive comprises a non-seamless jump from a first program stream to a second program stream.

### Claim 13 (depends on 9)

The system as in claim 9 wherein said repacketizer determines that said audio content comprises AC-3 packets having an AC-3 data and an AC-3 headers, and responsively generates audio transport packets with pointers that point to said AC-3 data rather than said AC-3 headers.

### Claim 14

A method for converting a program stream to a transport stream decodable by a transport stream decoder comprising:
reading program stream packets from a digital versatile disk (“DVD”) based on user selections and navigation metadata contained on said DVD;
extracting audio and video content packetized within said program stream packets;
reading system clock reference (“SCR”) timestamps from said program stream packets, said SCR timestamps indicating relative times at which said audio and video should be rendered;
determining a point within consecutively read program stream packets at which said SCR timestamps are non-consecutive;
generating consecutive PCR timestamps corresponding to said non-consecutive SCR timestamps at said point within consecutively read program stream packets at which said SCR timestamps are non-consecutive; and
generating a transport stream of transport stream packets containing said audio and video content and using said PCR timestamps to provide for decode timing at said transport stream decoder.

### Claim 15 (depends on 14)

The method as in claim 14 wherein said transport stream decoder is further configured to decode transport streams from one or more alternate transport stream sources.

### Claim 16 (depends on 15)

The method as In claim 15 wherein one of said alternate transport stream sources is a cable or satellite channel.
