IP Library Granted Patent US 7,895,635
Granted Patent B2
US 7,895,635 · App. 11/829,309 · Granted Feb 22, 2011

Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream

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,895,635
App. No.
11/829,309
Granted
Feb 22, 2011
Kind
B2
Abstract

Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream are disclosed. An exemplary method includes: receiving a command from a user mode video playback component; in response, processing layer- 2 packets received through a network interface driver binding to assemble, into an MPEG elementary stream, multimedia transport packets encapsulated within; and supplying the stream to a decoder. The receiving and processing steps are performed in kernel mode. Also disclosed is an exemplary digital home communication terminal that includes a network interface, memory, and a processor. The processor executes code to: receive a command from a user mode video playback component; process layer- 2 packets received through a network interface driver binding, in order to assemble into an MPEG elementary stream multimedia transport packets encapsulated within the received layer- 2 packets; and supply the elementary stream to a decoder. The receive and process operations are performed in kernel mode.

Claims (54)

1. A method, performed in a digital home communication terminal (DHCT), of assembling a multimedia transport stream from a layer- 2 packet, the method comprising the steps of:

receiving, in kernel mode, a command from a user mode video playback component;

in response to the received command, processing, in kernel mode, layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;

copying the multimedia packets that did not meet the applied filter criteria to a protocol stack; and

supplying the MPEG elementary stream to a decoder.

2. The method of claim 1 , further comprising the step of:

after receiving the command, blocking the execution of the user mode video playback component.

3. The method of claim 1 , further comprising the steps of:

after receiving the command, blocking the user mode video playback component; and

unblocking the execution of the user mode video playback component in response to receiving a stop decoder event.

4. The method of claim 1 , further comprising the step of:

performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.

5. The method of claim 1 , further comprising the step of:

conditionally performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.

6. The method of claim 1 , further comprising the step of:

conditionally performing a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option specified by the user mode video playback component.

7. The method of claim 1 , further comprising the step of:

performing, in kernel mode, forward error correction on the received layer- 2 packets.

8. The method of claim 1 , further comprising the step of:

configuring the decoder based on at least one option specified by the user mode video playback component.

9. A digital home communication terminal (DHCT) comprising:

a network interface;

memory having stored thereon program code; and

a processor that is programmed by at least the program code to enable the client DHCT to:

receive, in kernel mode, a command from a user mode video playback component;

in response to the received command, process in kernel mode layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;

copy the multimedia packets that did not meet the applied filter criteria to a protocol stack; and

supply the MPEG elementary stream to a decoder.

10. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:

block the execution of the user mode video playback component after receiving the command.

11. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:

block the user mode video playback component after receiving the command; and unblock the execution of the user mode video playback component in response to receiving a stop decoder event.

12. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:

perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.

13. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:

conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.

14. The DHCT of claim 9 , wherein the processor is further programmed to enable the client DHCT to:

conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option specified by the user mode video playback component.

15. A digital home communication terminal (DHCT) comprising:

a processor, the processor configured with:

logic configured to receive, in kernel mode, a command from a user mode video playback component;

logic configured to process in kernel mode layer- 2 packets received through a binding to a network interface driver in order to assemble multimedia transport packets encapsulated within the received layer- 2 packets into an MPEG elementary stream, where the kernel-mode processing is performed in response to the received command, wherein the processing includes applying at least one filter to the received layer- 2 packets and assembly only includes multimedia packets meeting the applied filter criteria;

logic configured to copy the multimedia packets that did not meet the applied filter criteria to a protocol stack; and

logic configured to supply the MPEG elementary stream to a decoder.

16. The DHCT of claim 15 , wherein the processor is further comprising:

logic configured to block the execution of the user mode video playback component after receiving the command.

17. The DHCT of claim 15 , wherein the processor is further comprising:

logic configured to perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets.

18. The DHCT of claim 15 , wherein the processor is further comprising:

logic configured to perform forward error correction on the received layer- 2 packets in kernel-mode.

19. The DHCT of claim 15 , wherein the processor is further comprising:

logic configured to configure the decoder based on at least one option specified by the user mode video playback component.

20. The DHCT of claim 15 , wherein the processor is further comprising:

logic configured to conditionally perform a checksum on at least one of an IP packet, a UDP packet, or an RTP packet contained within one of the received layer- 2 packets, based on a configuration option.

Assignments (9)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: THOMSON LICENSING
To: INTERDIGITAL CE PATENT HOLDINGS
Reel/Frame 049607/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2019
From: THOMSON LICENSING
To: INTERDIGITAL CE PATENT HOLDINGS
Reel/Frame 049602/0683 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 7923479 PATENT NUMBER ADDED PREVIOUSLY RECORDED AT REEL: 49603 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 26, 2019
From: CISCO TECHNOLOGY, INC.
To: TECH 5
Reel/Frame 049603/0001 →
MERGER Recorded Jun 26, 2019
From: TECH 5
To: THOMSON LICENSING
Reel/Frame 049601/0593 →
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 10, 2007
From: VERSTEEG, WILLIAM C.; STEPHENS, ROBERT G.
To: SCIENTIFIC-ATLANTA, INC.
Reel/Frame 019938/0354 →