Patent Pending Linear Bit Counting Implementations
1. Patent Pending Linear Bit
Counting Implementations:
US 2011/0238717 A1 &
WO 2011/126779 A2
By Meltin.Bell@GMail.com
(c) Copyright 2/16/12 Meltin Bell. All rights
1
reserved.
2. U.S. and Patent Cooperation Treaty
Case Similarly Ordered Parts
• Title
• Abstract
• Technical Field and Industrial Applicability
• Background
• Summary
• Brief Drawings Description
• Detailed Description
• Claims
(c) Copyright 2/16/12 Meltin Bell. All rights
2
reserved.
3. U.S. and Patent Cooperation Treaty
Case Differences
• PCT Cross-Reference To Related Applications
• Drawings
(c) Copyright 2/16/12 Meltin Bell. All rights
3
reserved.
4. Bit Counting Applications
• Cryptography (6516330, 5717616, 5734599)
• Graphics (6516330)
• Transmission (5682405)
(c) Copyright 2/16/12 Meltin Bell. All rights
4
reserved.
5. Linear Bit Counting Prior Art
int lbc1(int val) {
int bc = 0;
while (val) { loop # val bc
val &= (val -1); 1 101 0
bc++; 2 100 1
} 3 0 2
return bc;
}
(c) Copyright 2/16/12 Meltin Bell. All rights
5
reserved.
6. Motivations for Improvements
• Faster computation (5717616)
• Convenient implementation (5717616)
• Greater CPU design flexibility (5717616)
• Minimizing hardware/size (4607176, 5734599)
(c) Copyright 2/16/12 Meltin Bell. All rights
6
reserved.
7. Linear Bit Counting Contribution 1
int lbc1_(int val) {
int bc = 3;
while (val != 0x111) { loop # val bc
val |= (val + 1); 1 011 3
bc--; 2 111 2
}
return bc;
}
(c) Copyright 2/16/12 Meltin Bell. All rights
7
reserved.
8. Linear Bit Counting Contribution 2
int lbc0_(int val) {
int bc = 3;
while (val > 0) { loop # val bc
val &= (val -1); 1 001 3
bc--; 2 0 2
}
return bc;
}
(c) Copyright 2/16/12 Meltin Bell. All rights
8
reserved.
9. Linear Bit Counting Contribution 3
int lbc0(int val) {
int bc = 0;
while (val != 0x111) { loop # val bc
val |= (val + 1); 1 011 0
bc++; 2 111 1
}
return bc;
}
(c) Copyright 2/16/12 Meltin Bell. All rights
9
reserved.
10. Conclusion
• Performance of contributions is most
significant for sparsely or densely populated
data
• For further information, please contact
Meltin.Bell@GMail.com
• THANKS!
(c) Copyright 2/16/12 Meltin Bell. All rights
10
reserved.