IP Library Granted Patent US 9,842,048
Granted Patent B2
US 9,842,048 · App. 14/939,863 · Granted Dec 12, 2017

Systems, methods, and computer readable media for digital radio broadcast receiver memory and power reduction

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 9,842,048
App. No.
14/939,863
Granted
Dec 12, 2017
Kind
B2
Abstract

A method of block deinterleaving data received at a digital radio broadcast receiver is described. The method includes providing a block of memory having a n×k addresses, wherein the block comprises a single table, receiving a digital radio broadcast signal at the receiver, and demodulating the digital radio broadcast signal into a plurality of interleaved data units. For at least one series of n×k data units a pointer step size is determined, and for each data unit in the series, an address in the block is calculated based on the pointer step size, and an output data unit is read from the block at the address, such that said output data units represent block deinterleaved data units. An input data unit from the plurality of interleaved data units is then written to the block at the address. Associated systems and computer readable storage media are presented.

Claims (91)

1. A processor-implemented method of block deinterleaving data received at a digital radio broadcast receiver comprising:

a. providing a block of memory having n×k addresses, wherein the block comprises a single table, and each of n and k is a non-zero, positive integer;

b. receiving a digital radio broadcast signal at the digital radio broadcast receiver;

c. demodulating the digital radio broadcast signal into a plurality of interleaved data units;

d. for a current series of n×k interleaved data units,

i. calculating a pointer step size according to size of the current series of interleaved data units and a pointer step size of a previous series of interleaved data units; and

ii. for each interleaved data unit in the current series,

1. calculating an address in the block based on the pointer step size;

2. reading an output data unit from the block at the calculated address, such that said output data units represent block deinterleaved data units; and

3. writing an input data unit from the plurality of interleaved data units to the block at the same calculated address prior to reading and writing a subsequent output data unit.

2. The processor-implemented method of claim 1 wherein said input data units are not sequentially ordered in the block of memory.

3. The processor-implemented method of claim 1 wherein the pointer step size Psz is determined as follows:

P temp =MOD( Psz (m-1) ·k ,( n·k ))+└ Psz (m-1) /( n )┘; and  a.

Psz (m) =MOD( P temp ,( n·k ))+└ P temp /( n·k )┘,  b.

where m is an index corresponding to a given set of n×k data units and P temp is a temporary step size variable.

4. The processor-implemented method of claim 3 , wherein for a first iteration of deinterleaving, the pointer step size is set to Psz (1) =1.

5. The processor-implemented method of claim 3 wherein each address in the block is calculated as follows:

a. For i from 1 to n×k, the address (ADDRp) is as follows,

for i= 1,ADDR p (1)=1;  i.

for iε [2,( n·k− 1)],ADDR p ( i )=MOD((ADDR p ( i− 1)+ Psz ),( n·k ))±└(ADDR p ( i− 1)± Psz )/( n·k )┘;  ii.

for i=n·k ,ADDR p ( n·k )= n·k.   iii.

6. The processor-implemented method of claim 1 wherein the interleaved data units are bits.

7. The processor-implemented method of claim 1 comprising:

reading the output data units from the block for a first series and writing the input data units to the block for a next series interleaved of data units, such that writing some of the input data units to the block for the next series is performed before reading the output data units from the block for the first series is completed,

wherein reading and writing from and to the block are done from and to non-sequential addresses.

8. The processor-implemented method of claim 1 , wherein

the reading of the output data unit comprises a read operation,

the writing of the input data unit comprises a write operation performed after the read operation, and

the read operation and the mite operation are consecutive operations.

9. The processor-implemented method of claim 8 , wherein the read operation and the write operation are performed using a single address pointer.

10. A digital radio broadcast receiver configured to perform block deinterleaving of data comprising:

a processing system; and

a memory coupled to the processing system, wherein the processing system is configured to execute steps comprising:

a. providing a block of memory having n×k addresses, wherein the block comprises a single table, and each of n and k is a non-zero, positive integer;

b. receiving a digital radio broadcast signal at the digital radio broadcast receiver;

c. demodulating the digital radio broadcast signal into a plurality of interleaved data units;

d. for a series of n×k interleaved data units,

i. calculating a pointer step size according to size of the series of interleaved data units and a pointer step size of a previous series of interleaved data units; and

ii. for each interleaved data unit,

1. calculating an address in the block based on the pointer step size;

2. reading an output data unit from a first series of data units from the block at the address, such that said output data units represent block deinterleaved data units; and

3. writing an input data unit from a second series of interleaved data units to the block at the same address prior to reading and writing another output data unit.

11. The digital radio broadcast receiver of claim 10 wherein said input data units are not sequentially ordered in the block of memory.

12. The digital radio broadcast receiver of claim 10 wherein the pointer step size Psz is determined as follows:

P temp =MOD( Psz (m-1) ·k ,( n·k ))+└ Psz (m-1) /( n )┘; and  a.

Psz (m) =MOD( P temp ,( n·k ))+└ P temp /( n·k )┘,  b.

where in is an index corresponding to a given set of n×k interleaved data units and P temp is a temporary step size variable.

13. The digital radio broadcast receiver of claim 12 , wherein for a first iteration of deinterleaving, the pointer step size is set to Psz (1) =1.

14. The digital radio broadcast receiver of claim 12 wherein each address in the block is calculated as follows:

a. For i from 1 to n×k, the address (ADDRp) is as follows,

for i= 1,ADDR p (1)=1;  i.

for iε [2,( n·k− 1)],ADDR p ( i )=MOD((ADDR p ( i− 1)+ Psz ),( n·k ))+└(ADDR p ( i− 1)+ Psz )/( n·k )┘,  ii.

for i=n·k ,ADDR p ( n·k )= n·k   iii.

15. The digital radio broadcast receiver of claim 10 wherein the interleaved data units are bits.

16. The digital radio broadcast receiver of claim 10 comprising:

reading the output data units from the block for a first series and writing the input data units to the block for a next series of interleaved data units, such that writing some of the input data units to the block for the next series is performed before reading the output data units from the block for the first series is completed,

wherein reading and writing from and to the block are done from and to non-sequential addresses.

17. The digital radio broadcast receiver of claim 10 , wherein the reading of the output data unit comprises a read operation,

the writing of the input data unit comprises a write operation performed after the read operation, and

the read operation and the write operation are consecutive operations.

18. The digital radio broadcast receiver of claim 17 , wherein the read operation and the write operation are performed using a single address pointer.

19. An article of manufacture comprising a non-transitory computer readable storage medium having computer program instructions adapted to cause a processing system to execute steps comprising:

a. providing a block of memory having n×k addresses, wherein the block comprises a single table, and each of n and k is a non-zero, positive integer;

b. receiving a digital radio broadcast signal at the digital radio broadcast receiver;

c. demodulating the digital radio broadcast signal into a plurality of interleaved data units;

d. for a current series of n×k interleaved data units,

i. calculating a pointer step size according to size of the current series of interleaved data units and a pointer step size of a previous series of interleaved data units; and

ii. for each interleaved data unit in the series,

1. calculating an address in the block based on the pointer step size;

2. reading an output data unit from the block at the calculated address, such that said output data units represent block deinterleaved data units; and

3. writing an input data unit from the plurality of interleaved data units to the block at the same calculated address prior to reading and writing a subsequent output data unit.

20. The article of manufacture of claim 19 wherein said input data units are not sequentially ordered in the block of memory.

21. The article of manufacture of claim 19 wherein the pointer step size is determined as follows:

P temp =MOD( Psz (m-1) ·k ,( n·k ))+└ Psz (m-1) /( n )┘, and  a.

Psz (m) =MOD( P temp ( n·k ))+└ P temp /( n·k )┘,  b.

where m is an index corresponding to a given set of n×k interleaved data units and P temp is a temporary step size variable.

22. The article of manufacture of claim 21 , wherein for a first iteration of deinterleaving, the pointer step size is set to Psz (1) =1.

23. The article of manufacture of claim 21 wherein each address in the block is calculated as follows:

a. For i from 1 to n×k, the address (ADDRp) is as follows,

for i= 1,ADDR p (1)=1;  i.

for iε [2,( n·k− 1)], ADDR p ( i )=MOD((ADDR p ( i− 1)+ Psz ),( n·k ))+└(ADDR p ( i− 1)+ Psz )/( n·k )┘;  ii.

for i=n·k ,ADDR p ( n·k )= n·k.   iii.

24. The article: of manufacture of claim 19 wherein the interleaved data units are bits.

25. The article of manufacture of claim 19 comprising:

reading the output data units from the block for a first series and writing the input data units to the block for a next series of interleaved data units, such that writing some of the input data units to the block for the next series is performed before reading the output data units from the block for the first series is completed,

wherein reading and writing from and to the block are done from and to non-sequential addresses.

26. The article of manufacture of claim 19 , wherein

the reading of the output data unit comprises a read operation,

the writing of the input data unit comprises a write operation performed after the read operation, and

the read operation and the write operation are consecutive operations.

27. The article of manufacture of claim 26 , wherein the read operation and the write operation are performed using a single address pointer.

Assignments (6)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VEVEO LLC (F.K.A. VEVEO, INC.); DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
Reel/Frame 061786/0675 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2020
From: ROYAL BANK OF CANADA
To: TESSERA, INC.; INVENSAS BONDING TECHNOLOGIES, INC. (F/K/A ZIPTRONIX, INC.); FOTONATION CORPORATION (F/K/A DIGITALOPTICS CORPORATION AND F/K/A DIGITALOPTICS CORPORATION MEMS); INVENSAS CORPORATION; TESSERA ADVANCED TECHNOLOGIES, INC; DTS, INC.; DTS LLC; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
Reel/Frame 052920/0001 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
SECURITY INTEREST Recorded Oct 23, 2018
From: NLIGHT, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 047291/0833 →
SECURITY INTEREST Recorded Dec 2, 2016
From: INVENSAS CORPORATION; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; ZIPTRONIX, INC.; DIGITALOPTICS CORPORATION; DIGITALOPTICS CORPORATION MEMS; DTS, LLC; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 040797/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: MILBAR, MAREK
To: IBIQUITY DIGITAL CORPORATION
Reel/Frame 037027/0968 →