IP Library Granted Patent US 8,238,457
Granted Patent B2
US 8,238,457 · App. 12/423,229 · Granted Aug 7, 2012

Method and system for optimal bitloading in communication and data compression systems

Assignee: University of Iowa Research Foundation
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,238,457
App. No.
12/423,229
Granted
Aug 7, 2012
Kind
B2
Abstract

This invention provides a method and system for determining the number of bits to assign to a frequency range in a signal. The present invention is capable of bit allocation, with B total bits, among a plurality of N frequency ranges in time a time O(N log N), which is independent of the size of B. Embodiments of the present invention have many practical applications, including allocating bits among sub-channels in a multi-carrier communication system, and allocating bits among sub-bands in a signal representing digital multimedia, such as in JPEG or MPEG compressed files.

Claims (80)

1. A method for bit loading, the method comprising:

ordering a first list α of frequency sub-channel characteristics containing a characteristic α i of a frequency sub-channel of a multi-carrier communication system, the characteristic α i indicating channel performance;

creating a second list l with an entry l i associated with the frequency sub-channel having the characteristic α i , wherein the entry l i is a function of one or more entries in the first list α;

determining a value k as a function of values in the second list l and a total number B of transmission bits in a signal transmitted in the multi-carrier communication system, the total number B of bits being allocated among a plurality of frequency sub-channels of the multi-carrier communication system; and

based on the value k, allocating a portion of transmission bits of the total number of B transmission bits to the frequency sub-channel having the characteristic α i .

2. The method of claim 1 , wherein ordering the first list α comprises:

comparing a value β to the number 1;

if β is greater than one, ordering the first list α in ascending order; and

if β is less than one, ordering the first list α in descending order.

3. The method of claim 1 , wherein creating the second list l further comprises:

dividing the characteristic α i by a frequency sub-channel characteristic α 1 , wherein the frequency sub-channel characteristic α 1 is the first element in the first list α;

computing a logarithm of the division;

calculating a ceiling function of the computed logarithm; and

assigning the result of the calculated ceiling function to l i .

4. The method of claim 1 , wherein determining the value k comprises determining the smallest magnitude of the value k that yields a sum from 1 through k−1 of (l k −l i ) that is greater than or equal to B.

5. The method of claim 1 , wherein determining the value k comprises:

creating a list R;

assigning values to entries in the list R where the k th entry R k in list R is the sum from 1 to k−1 of (l k −l i ); and

determining the smallest magnitude of the value k that yields the entry R k being greater than or equal to B.

6. The method of claim 5 , further comprising:

calculating a value d as the difference between B and an entry R k−1 in the list R;

calculating a value r as the remainder when d is divided by k−1; and

calculating a value q as d divided by k−1.

7. The method of claim 6 , wherein assigning bits to the frequency sub-channel with characteristic α i comprises:

calculating a value g as l k−1 −l i +q;

if the index i of α i is less than or equal to r, incrementing g by one;

if i is less than k, assigning g bits to the frequency sub-channel associated with characteristic α i ; and

if i is greater than or equal to k, assigning zero bits to the frequency sub-channel with characteristic α i .

8. A system for bit loading, the system comprising:

means for ordering a first list α of frequency sub-channel characteristics containing the characteristic α i of a frequency sub-channel of a multi-carrier communication system, the characteristic α i indicating channel performance;

means for creating a second list l with an entry l i associated with the frequency sub-channel having the characteristic α i , wherein the entry l i is a function of one or more entries in the first list α;

means for determining a value k as a function of values in the second list l and a total number B of transmission bits in a signal transmitted in the multi-carrier communication system, the total number B of bits being allocated among a plurality of frequency channels of the multi-carrier communication system; and

means for assigning, based on the value k, a portion of transmission bits of the total number B of transmission bits to the frequency sub-channel having the characteristic α i .

9. The system of claim 8 , wherein the means for ordering the first list α comprises:

means for comparing a value β to 1;

means for ordering the first list α in ascending order, if β is greater than one; and

means for ordering the first list α in descending order, if β is less than one.

10. The system of claim 8 , wherein the means for creating the second list l further comprises:

means for dividing frequency sub-channel characteristic α i by α 1 ;

means for computing a logarithm of the division;

means for calculating a ceiling function of the computed logarithm; and

means for assigning the result of the calculated ceiling function to l i .

11. The system of claim 8 , wherein the means for determining the value k comprises a means for determining a smallest magnitude of the value k, that yields a sum from 1 through k−1 of (l k −l i ) that is greater than or equal to B.

12. The system of claim 8 , wherein the means for determining a value k comprises:

means for creating a list R;

means for assigning values to entries in the list R where k th entry R k in the list R is the sum from 1 to k−1 of (l k −l i ); and

means for determining the smallest value k that yields the entry R k being greater than or equal to B.

13. The system of claim 12 , further comprising:

means for calculating a value d as the difference between B and entry R k−1 in the list R;

means for calculating a value r as the remainder when d is divided by k−1; and

means for calculating a value q as d divided by k−1.

14. The system of claim 13 , wherein the means for assigning bits to the frequency sub-band having the characteristic α i comprises:

means for calculating a value g as l k−1 −l i +q;

means for incrementing g by one, if the index i of α i is less than or equal to r;

means for assigning g bits to the frequency sub-channel having the characteristic α i , if i is less than k; and

means for assigning zero bits to the frequency sub-channel having the characteristic α i , if i is greater than or equal to k.

15. A computer program product embodied in a computer-readable non-transitory storage medium encoded with computer-executable instructions that, in response to execution, cause a processor to perform bit loading, the bit loading comprising:

ordering a first list α of frequency sub-band characteristics containing the characteristic α i of a frequency sub-channel of a multi-carrier communication system having a plurality of frequency sub-channels;

creating a second list l with an entry l i associated with the frequency sub-band with characteristic α i , wherein the entry l i is a function of one or more entries in the first list α;

determining a value k as a function of values in the second list and a total number B of transmission bits in a signal transmitted in the multi-carrier communication system, the total number B of bits being allocated among the plurality of frequency channels; and

assigning, as a function of k, a portion of transmission of bits of the total number B of transmission bits to the frequency sub-band with characteristic α i .

16. The computer program product according to claim 15 , wherein the second list l creating step further comprises the steps of:

dividing frequency sub-channel characteristic α i by α 1 ;

computing logarithm of the division;

calculating a ceiling function of the computed logarithm; and

assigning the result of the calculated ceiling function to l i .

17. The computer program product according to claim 15 , wherein determining a value k comprises determining a smallest value k, such that the sum from 1 through k−1 of (l k −l i ) is greater than or equal to B.

18. The computer program product according to claim 15 , wherein determining a value k comprises:

creating a list R;

assigning values to entries in R where k th entry R k in the list R is the sum from 1 to k−1 of (l k −l i ); and

determining the smallest value k that the R k entry being greater than or equal to B.

19. The computer program product according to claim 18 , further comprising:

calculating a value d as the difference between B and entry R k−1 in the list R;

calculating a value r as the remainder when d is divided by k−1; and

calculating a value q as d divided by k−1.

20. The computer program product according to claim 19 , wherein the step of assigning bits to the frequency sub-channel having the characteristic α i comprises:

calculating a value g as l k−1 −l i +q;

if the index i of α i is less than or equal to r, incrementing g by one;

if i is less than k, assigning g bits the frequency sub-band having the characteristic α i ; and

if i is greater than or equal to k, assigning zero bits to the frequency sub-channel having the characteristic α i .

Assignments (1)
CONFIRMATORY LICENSE Recorded Dec 31, 2009
From: UNIVERSITY OF IOWA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 023722/0386 →
Continuity (3)
Continuation 11127529 · May 11, 2005
Provisional Application 60570121 · May 11, 2004
Related Publication 20090196369A1 · Aug 6, 2009