IP Library Granted Patent US 8,069,348
Granted Patent B2
US 8,069,348 · App. 11/163,238 · Granted Nov 29, 2011

Client digital program insertion in a conditional access module

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 8,069,348
App. No.
11/163,238
Granted
Nov 29, 2011
Kind
B2
Abstract

Systems and methods are disclosed for inserting programs into broadcasted primary programs by a conditional access (CA) module that is inserted into a host device, such as a digital-ready television. The CA module utilizes primary and secondary program map tables and/or primary and secondary packet identifiers. A splicer splices the secondary packet identifiers, which is associated with a secondary program, into the primary packet identifiers, which is associated with a program, such as a broadcasted program. Additionally, the CA module may contain memory that is capable of storing the secondary program's packet identifiers and/or program map table that can be used for insertion into the primary program.

Claims (38)

1. A communications system for providing a plurality of primary programs and inserted programs to a plurality of host devices, the communications system comprising:

a primary program having primary packet identifiers;

a secondary program having secondary packet identifiers; and

a host device coupled to the communications system, the host device for tuning and demodulating the primary program and the secondary program from the communications system, the host device comprising a socket manufactured into the host device; and

a CA module comprising a hardware device for insertion into the socket of the host device, and for receiving the primary program and the secondary program from the host device, the CA module for providing to the host device a spliced program comprising the primary program and the secondary program, wherein the CA module decrypts the primary program identified by the primary packet identifiers, provides the decrypted primary program to the host device for decoding and subsequent viewing and, upon receiving a splice request comprising an embedded cue message, splices into the primary program, a decrypted secondary program identified by the secondary packet identifiers until receiving a splice complete message, wherein the primary and secondary packet identifiers comprise audio and video packet identifiers that differ in value, and wherein the spliced program comprises the primary packet identifiers and, when the splice request is received and processed, the primary packet identifiers are not transmitted until the splice complete message is received and processed wherein the secondary packet identifiers are transmitted subsequent to the splice complete request being received and processed.

2. The communications system of claim 1 , wherein the CA module comprises:

a processor for processing requests included in a transport stream, wherein the transport stream comprises the primary program and the secondary program;

a primary decryptor for decrypting the primary program and the secondary program; and

a splicer controlled by the processor for, when the splice request is received, splicing the decrypted primary program and the decrypted secondary program.

3. The communications system of claim 2 , wherein the CA module further comprises a secondary decryptor for decrypting a second program and for providing the decrypted second program to the splicer.

4. The communications system of claim 1 , wherein the host device comprises a decoder for receiving the spliced program and for decoding the spliced program prior to displaying.

5. A communications system for providing a transport stream comprising a plurality of programs and inserted programs to a plurality of host devices, the communications system comprising:

a primary and a secondary program map table comprising packet identifiers, the primary and the secondary program map table being stored on a memory device;

a primary program that is identified by primary packet identifiers located in the primary program map table;

an inserted program that is identified by secondary packet identifiers located in the secondary program map table;

a host device coupled to the communications system, the host device for tuning and decoding the primary program and the inserted program; and

a CA module comprising a hardware device for insertion into a socket manufactured into the host device, and for receiving the primary program and the inserted program from the host device, the CA module for providing to the host device a spliced program comprising the primary program and the inserted program, wherein the CA module provides the primary program identified in the primary program map table and, upon receiving a splice request comprising an embedded cue message, splices in the inserted program identified by the secondary program map table until receiving a splice complete message, wherein the processor processes the primary packet identifiers associated with the primary program that are identified in the primary program map table until the splice request is received and then swaps the primary program map table with the secondary program map table and subsequently processes the secondary packet identifiers that are associated with the inserted program, and wherein the secondary program map table is processed until the splice complete message is received and processed, wherein subsequently the processor swaps the secondary program map table with the primary program map table;

wherein the CA module comprises:

a processor for processing requests in the transport stream, wherein the transport stream comprises the primary program, the inserted program, and the primary and secondary program map tables;

a primary decryptor for decrypting the primary program and the inserted program; and

a splicer controlled by the processor for, when the splice request is received, splicing the decrypted primary program and the decrypted inserted program, wherein the primary program identified by the primary program map table is decrypted until the splice request is received and processed, and subsequently the inserted program identified by the secondary program map table is decrypted.

6. The communications system of claim 5 , wherein the CA module further comprises a secondary decryptor for decrypting a second program and for providing the decrypted second program to the splicer.

7. The communications system of claim 5 , wherein the host device comprises a decoder for receiving the spliced program and for decoding the spliced program prior to displaying.

8. The communications system of claim 5 , wherein the inserted program is decrypted until the splice complete message is received and processed.

9. The communications system of claim 5 , wherein the primary program is a broadcasted program.

10. The communications system of claim 5 , wherein the inserted program is a targeted program identified for at least one, but not all, of the plurality of host devices.

11. A communications system for providing a transport stream comprising a plurality of programs and inserted programs to a plurality of host devices, the communications system comprising:

a primary program that is identified by primary packet identifiers;

at least one inserted program that is identified by secondary packet identifiers;

a host device coupled to the communications system, the host device for receiving the at least one inserted program prior to or concurrently with a tuned primary program, the host device comprising a socket manufactured into the host device; and

a CA module comprising a hardware device including memory for storing the at least one inserted program, the CA module for receiving and decrypting the tuned primary program, the CA module for providing to the host device a spliced decrypted program comprising the primary program and the at least one stored program, wherein the CA module provides the decrypted primary program to the host device for decoding and subsequent viewing, retrieves at least one of the stored programs from memory, decrypts the retrieved at least one stored program, and upon receiving a splice request comprising an embedded cue message, subsequently splices the decrypted at least one retrieved program in with the primary program until receiving a splice complete message, wherein the primary and the at least one stored program comprise audio and video packet identifiers that all differ in value, and wherein the spliced program comprises the primary packet identifiers and, when the splice request is received and processed, the primary packet identifiers are not transmitted until a splice complete request is received and processed;

wherein the primary packet identifiers are identified in a primary map table stored on the memory, and wherein the at least one stored program packet identifiers are identified in at least one secondary program map table stored on the memory;

wherein the processor processes the primary packet identifiers via the primary map table, and wherein when the splice request is received, the processor swaps the primary map table with the secondary program map table.

12. The communications system of claim 11 , wherein the CA module comprises:

a processor for processing requests included in the transport stream that is addressed to its coupled host device;

a primary decryptor for decrypting the primary program and the at least one retrieved program; and

a splicer controlled by the processor for, when the splice request is received, splicing the decrypted primary program and the decrypted at least one retrieved program.

13. The communications system of claim 11 , wherein subsequent to the receiving and processing of the splice complete message, the decrypted at least one retrieved program is transmitted to the host device, wherein the at least one retrieved program is identified by the secondary packet identifiers.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT 7523479 NEEDS TO BE INCLUDED, WAS ACCIDENTALLY MISSED WHEN RECORDING ASSIGNMENT PREVIOUSLY RECORDED ON REEL 049603 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE NEED TO INCLUDE PATENT 7523479 IN THE ASSIGNMENT. WAS ACCIDENTALLY MISSED ON LAST RECORDING. Recorded Jun 9, 2021
From: CISCO TECHNOLOGY, INC.
To: TECH 5 SAS
Reel/Frame 058043/0001 →
CHANGE OF NAME Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 034299/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034300/0001 →
CHANGE OF NAME Recorded Jul 27, 2009
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 023012/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2005
From: BACON, KINNEY C.
To: SCIENTIFIC-ATLANTA, INC.
Reel/Frame 016636/0569 →