IP Library Granted Patent US 7,804,835
Granted Patent B2
US 7,804,835 · App. 11/814,280 · Granted Sep 28, 2010

IP datagram de-encapsulation

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,804,835
App. No.
11/814,280
Granted
Sep 28, 2010
Kind
B2
Abstract

An apparatus ( 1001 ), system ( 1000 ) and method ( 800 - 900 ) are provided for improving the de-encapsulation of sections from Multi Protocol Encapsulation (MPE) ( 151 ) and Multi Protocol Encapsulation-Forward Error Correction (MPE-FEC) ( 152 ) Sections in a DVB-H transport stream. DVB-H is a standard for broadcasting services to hand-helds. Its difference from DVB-T, C, and S that is relevant for this invention is the presence of an additional layer of Forward Error Correction (FEC). Instead of restoring only correctly received sections ( 151 ) ( 152 ) the present invention also restores fragments of sections ( 151 ) ( 152 ) by using both Transport Stream packet headers ( 301 . i. 1 ) and section headers ( 151.1 ). As a result, entire sections ( 800 - 900 ) may not be erased (which can amount to up to 4080 bytes) whenever one or more fragments are received incorrectly, but only the incorrectly received fragments (which can be each up to 184 bytes) are erased. This leads to a more efficient use of the additional layer of Forward Error Correction (FEC) information.

Claims (58)

1. An apparatus for reconstruction of a section transmitted in a plurality of packets, wherein the section comprises a plurality of fragments, wherein each of the plurality of packets includes a header and a payload, wherein the header comprises an integer continuity counter CC that counts lost packets of the plurality of packets, and wherein the payload includes at least one of the plurality of fragments, the apparatus comprising:

a fragment memory adapted to store at least a portion of the plurality of fragments, the fragment memory comprising:

a plurality of columns; and

a fragment pointer FP pointing at a first column of the plurality of columns to receive a first fragment of the plurality of fragments, wherein the first fragment is received in a first packet of the plurality of packets;

a frame memory adapted to store at least a portion of the fragment memory; and

a de-encapsulator module configured to—

maintain a shadow counter SC to track an expected value of CC and to initialize SC=CC, and enforce a predetermined consistency criteria of SC=CC,

maintain a discontinuity counter DC, a missed fragment counter K,

when the first packet is one of:

received correctly, and

includes an un-correctable error and CC=SC, then store the first fragment at the first column of the fragment memory pointed at by FP and then adjust FP and SC to respectively point at a second column of the plurality of columns to receive a second fragment of the plurality of fragments and the value of CC expected in a second packet of the of the plurality of packets; and

when the first packet includes the un-correctable error and CC≠SC, to ignore the first packet.

2. The apparatus of claim 1 , wherein the un-correctable error is indicated by a transport error indicator included in the header of the first packet.

3. The apparatus of claim 2 , wherein the header of the first packet includes a Packet Identifier PID to indicate a service type and the de-encapsulator module is further configured to ignore the first packet in accordance with a predetermined PID acceptance scheme.

4. The apparatus of claim 3 , wherein the de-encapsulator module is further configured to if the first packet is received correctly and CC≠SC, then:

advance FP and K based at least on a difference between CC and SC,

set SC=CC,

increment DC, and

record a last missed fragment LMF as a third column just prior to FP and if a first missed fragment FMF is null to set FMF=LMF.

5. The apparatus of claim 4 , wherein: the fragment memory is further configured to have an erasure information associated with each of the plurality of columns; and when each of the plurality of fragments have been stored in the fragment memory or ignored, the de-encapsulator module is further configured to:

when there are missing fragments indicated by at least one of the plurality of columns having an associated length variable of 0, set the associated erasure information to a predetermined value and set a group counter F to a number of floating group fragments=DC−I, wherein I is an integer,

when there are no missed fragments, process a cyclic redundancy check CRC received in the payload of one of the plurality of packets and set the erasure information for each of the plurality of columns based on a result of the CRC, and

store at least a portion of the fragment memory in the frame memory in accordance with a pre-determined storage scheme based on K and F.

6. The apparatus of claim 5 , wherein the pre-determined storage scheme is as follows:

when K=0, then store at least a portion of the fragment memory at a first address in the frame memory indicated by a first table address received in a first section header;

when K≠0 and at least one fragment of a current section and a next section is stored in the fragment memory, then store the plurality of fragments of the fragment memory at a second address in the frame memory indicated by a second table address received in a second section header;

when K≠0 and fragments from only one section are stored in the fragment memory, then a missed fragments length of one or more missed fragments is determined based on an adaptation field stuffing and using the missed fragments length, each of the plurality of fragments is stored consecutively at a third address in the frame memory indicated by a third table address received in a third section header.

7. The apparatus of claim 6 , wherein when F≠0 and the missed fragments length is not fixed, one or more missed and floating fragments are erased from the fragment memory prior to storing at least a portion of the fragment memory in the frame memory.

8. A method for reconstructing a section comprising a plurality of fragments, wherein the plurality of fragments are received in a plurality of packets, and wherein each of the plurality of packets includes a header and at least one fragment of the plurality of fragments, the method comprising:

receiving, by a digital broadcast receiver, a first packet of the plurality of packets, wherein the first packet includes a first fragment of the plurality of fragments;

maintaining a fragment pointer FP pointing at a first column of a fragment memory to receive the first fragment, a shadow counter SC to track an expected value of an integer continuity counter CC included in the header of each of the plurality of packets, a discontinuity counter DC, a missed fragment counter K and a floating fragment counter F;

initializing SC=CC;

when the first packet is one of:

received correctly, or

includes an un-correctable error and CC=SC, then

performing the steps of—

storing the first fragment at the first column of the fragment memory pointed at by FP, and

adjusting FP and SC to respectively point at a second column to receive a second fragment of the plurality of fragments and an expected value of CC expected in the header of a second packet of the plurality of packets; and

when the first packet includes the un-correctable error and CC≠SC, ignoring the first packet.

9. The method of claim 8 , further comprising the steps of:

setting an associated erasure information of each column of a plurality of columns to a predetermined value based on whether the first fragment includes an un-correctable error or has no associated address information, and when the fragment memory comprises a section performing the steps of—

setting the erasure information for each column of the plurality of columns based on a result of performing cyclic redundancy check CRC processing.

10. The method of claim 8 , further comprising the step of determining that the first packet includes the un-correctable error from a transport error indicator included in the header of the first packet.

11. The method of claim 8 , further comprising the step of ignoring the first packet if the header of the first packet includes a Packet Identifier PID of a pre-determined service type.

12. The method of claim 10 , further comprising when the first packet is received correctly and CC=SC performing the steps of:

advancing FP and K based at least on a difference between CC and SC;

setting SC=CC;

incrementing DC;

recording a last missed fragment (LMF) as a column just prior to FP; and

if a first missed fragment FNF is null, setting FMF=LMF.

13. The method of claim 11 , further comprising the step of:

when one or more of a plurality of columns has an associated length variable of 0 performing further steps of setting an associated erasure information to a predetermined value and setting the floating fragment counter F to a number of groups of floating fragments;

otherwise performing the steps of setting the erasure information for each column based on a result of processing a cyclic redundancy check CRC and storing at least a portion of the fragment memory in a frame memory in accordance with a pre-determined storage scheme based on K and F.

14. The method of claim 12 , wherein the step of storing at least a portion of the fragment memory in a frame memory in accordance with the pre-determined storage scheme based on K and F comprises the steps of:

when K=0 storing at least a portion of the fragment memory at a first address in the frame memory indicated by a first table address received in a first section header;

when K≠0 and the fragment memory comprises at least one fragment of a current section and a next section, storing at least a portion of the fragment memory at a second address in the frame memory indicated by a second table address received in a second section header of one of the current section and the next section to store at least a portion of the fragment memory in the frame memory;

when K≠0 and the fragment memory comprises only the current section, performing the steps of determining a missed fragments length based at least on an adaptation field stuffing and using the missed fragments length to consecutively store at least a portion of the fragment memory at a third table address received in a third section header.

15. The method of claim 13 , further comprising the step of when F≠0 and a missed fragments length is not fixed, then erasing one or more missed or one or more floating fragments from the fragment memory prior to storing at least a portion of the plurality of fragments of the fragment memory in a frame memory.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2009
From: NXP B.V.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 022266/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2008
From: KOPPELAAR, ARIE GEERT CORNELIS; TOLHUIZEN, LUDOVICUS MARINUS GERARDUS MARIA; EERENBERG, ONNO
To: NXP B.V.
Reel/Frame 020699/0342 →