1460926874-934b0a88-8870-42a4-bd89-83e6a3a51b4b

1. An input system for a wearable display device that is operatively connected to a computing device, the wearable display device comprising at least one temple arm extending from a display bridge of the wearable display device, the input system comprising:
a first touch-sensitive strip extending along a first axis on a top side of the temple arm;
a second touch-sensitive strip extending parallel to the first touch-sensitive strip on a bottom side of the temple arm that is opposite to the top side, wherein at least a portion of the first touch-sensitive strip and at least a portion of the second touch-sensitive strip overlap as viewed from a second axis; and
wherein both the first touch-sensitive strip and the second touch-sensitive strip are configured to generate linear contact input signals from one or more user digits sliding along the first axis, the linear contact input signals provided to a user interface program executed by a processor of the computing device.
2. The input system of claim 1, wherein the first touch-sensitive strip is further configured to generate pressure input signals from the one or more user digits pressing against the first touch-sensitive strip, the pressure input signals provided to the user interface program.
3. The input system of claim 1, further comprising one or more input buttons on the top side of the temple arm, the one or more input buttons configured to generate button input signals from a user digit compressing the one or more input buttons, the button input signals provided to the user interface program.
4. The input system of claim 1, wherein at least one of the first touch-sensitive strip and the second touch-sensitive strip is a single-touch-sensitive strip.
5. The input system of claim 1, wherein at least one of the first touch-sensitive strip and the second touch-sensitive strip is a multi-touch-sensitive strip.
6. The input system of claim 1, wherein the first touch-sensitive strip has a first length that is greater than a second length of the second touch-sensitive strip.
7. The input system of claim 6, where the first touch-sensitive strip extends closer to the display bridge of the wearable display device along the first axis than the second touch-sensitive strip.
8. The input system of claim 1, wherein the first touch-sensitive strip has a length between approximately 25 mm and approximately 75 mm.
9. The input system of claim 8, wherein the first touch-sensitive strip has a width of between approximately 1 mm and approximately 5 mm.
10. The input system of claim 1, wherein the first touch-sensitive strip and the second touch-sensitive strip have equivalent lengths and are spaced from the display bridge of the wearable display device by equivalent distances along the first axis.
11. A wearable display device operatively connected to a computing device, the wearable display device comprising a display bridge and at least one temple arm extending from the display bridge, the wearable display device comprising:
an input system, comprising:
a first touch-sensitive strip extending along a first axis on a top side of the temple arm and configured to generate first linear contact input signals from one or more user digits sliding along the first axis, the first linear contact input signals provided to a user interface program executed by a processor of the computing device;
a second touch-sensitive strip extending parallel to the first touch-sensitive strip on a bottom side of the temple arm that is opposite to the top side, the second touch-sensitive strip configured to generate second linear contact input signals from a user thumb sliding along the first axis, the second linear contact input signals provided to the user interface program, and wherein at least a portion of the first touch-sensitive strip and at least a portion of the second touch-sensitive strip overlap as viewed from a second axis; and
at least one input button located on the top side of the temple arm, the at least one input button configured to generate button input signals from a user digit compressing the at least one input button, the button input signals provided to the user interface program.
12. The wearable display device of claim 11, wherein the first touch-sensitive strip is further configured to generate pressure input signals from the one or more user digits pressing against the first touch-sensitive strip, the pressure input signals provided to the user interface program.
13. The wearable display device of claim 11, wherein at least one of the first touch-sensitive strip and the second touch-sensitive strip is a single-touch-sensitive strip.
14. The wearable display device of claim 11, wherein at least one of the first touch-sensitive strip and the second touch-sensitive strip is a multi-touch-sensitive strip.
15. The wearable display device of claim 11, wherein the first touch-sensitive strip has a first length that is greater than a second length of the second touch-sensitive strip.
16. The wearable display device of claim 15, where the first touch-sensitive strip extends closer to the display bridge of the wearable display device along the first axis than the second touch-sensitive strip.
17. The wearable display device of claim 11, wherein the first touch-sensitive strip has a length between approximately 25 mm and approximately 75 mm.
18. The wearable display device of claim 17, wherein the first touch-sensitive strip has a width of between approximately 1 mm and approximately 5 mm.
19. The wearable display device of claim 11, wherein the first touch-sensitive strip and the second touch-sensitive strip have equivalent lengths and are spaced from the display bridge of the wearable display device by equivalent distances along the first axis.
20. An input system for a wearable display device that is operatively connected to a computing device, the wearable display device comprising at least one temple arm extending from a display bridge of the wearable display device, the input system comprising:
a first touch-sensitive strip extending along a first axis on a top side of the temple arm;
a second touch-sensitive strip extending parallel to the first touch-sensitive strip on a bottom side of the temple arm that is opposite to the top side, wherein at least a portion of the first touch-sensitive strip and at least a portion of the second touch-sensitive strip overlap as viewed from a second axis; and
wherein both the first touch-sensitive strip and the second touch-sensitive strip are configured to:
generate linear contact input signals from one or more user digits sliding along the first axis, the linear contact input signals provided to a user interface program executed by a processor of the computing device; and
generate pressure input signals from pressure applied by the one or more user digits along the second axis, the pressure input signals provided to the user interface program.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for cache-line level compression and decompression (\u201cCLADE\u201d) of a data stream in a system on a chip (\u201cSoC\u201d) in a portable computing device (\u201cPCD\u201d), the method comprising:
iteratively removing combinations of bits from locations in each word of a cache line of an uncompressed data stream;
for each combination of removed bits, analyzing remaining bits in the word values of the cache line using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values of the cache line; and
based on a highest compression score, generating a first dictionary from the remaining bits in the word values after removal of the combination of bits associated with the highest compression score.
2. The method of claim 1, further comprising:
compressing the cache line on a first round such that one or more of the words remains uncompressed after the first round compression and one or more of the words is compressed after the first round compression to include three bit sections, the first bit section indicating the first dictionary, the second bit section comprising an index to bits stored in the first dictionary, and the third bit section containing the removed combination of bits.
3. The method of claim 2, further comprising:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first round;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first round, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a second dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first round that is associated with the highest compression score.
4. The method of claim 3, further comprising:
compressing the cache line on a second round such that one or more of the words remains uncompressed after the second round compression and one or more of the words uncompressed after the first round is compressed after the second round compression to include three bit sections, the first bit section indicating the second dictionary, the second bit section comprising an index to bits stored in the second dictionary, and the third bit section containing the removed combination of bits.
5. The method of claim 4, further comprising:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first and second rounds;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first and second rounds, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a third dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first and second rounds that is associated with the highest compression score.
6. The method of claim 5, further comprising:
compressing the cache line on a third round such that one or more of the words uncompressed after the first and second rounds is compressed after the third round compression to include three bit sections, the first bit section indicating the third dictionary, the second bit section comprising an index to bits stored in the third dictionary, and the third bit section containing the removed combination of bits.
7. The method of claim 6, wherein the cache line is saved to a tightly coupled memory device after the third round of compression.
8. The method of claim 7, further comprising:
recognizing a request from a processing component to the tightly coupled memory device for the cache line;
decompressing each word in the cache line by:
identifying a dictionary from the first bit section of the word;
querying the identified dictionary for bits indexed in the second bit section of the word; and
reconstructing the word by interleaving the queried bits with the removed combination of bits from the third bit section of the word; and

transmitting the decompressed word to the processing component.
9. The method of claim 1, wherein the objective function comprises a quadratically weighted compression ratio value.
10. The method of claim 1, wherein the PCD is in the form of a wireless telephone.
11. A system for cache-line level compression and decompression (\u201cCLADE\u201d) of a data stream in a system on a chip (\u201cSoC\u201d) in a portable computing device (\u201cPCD\u201d), the system comprising:
a CLADE module operable for:
iteratively removing combinations of bits from locations in each word of a cache line of an uncompressed data stream;
for each combination of removed bits, analyzing remaining bits in the word values of the cache line using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values of the cache line; and
based on a highest compression score, generating a first dictionary from the remaining bits in the word values after removal of the combination of bits associated with the highest compression score.
12. The system of claim 11, wherein the CLADE module is further operable for compressing the cache line on a first round such that one or more of the words remains uncompressed after the first round compression and one or more of the words is compressed after the first round compression to include three bit sections, the first bit section indicating the first dictionary, the second bit section comprising an index to bits stored in the first dictionary, and the third bit section containing the removed combination of bits.
13. The system of claim 12, wherein the CLADE module is further operable for:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first round;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first round, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a second dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first round that is associated with the highest compression score.
14. The system of claim 13, wherein the CLADE module is further operable for:
compressing the cache line on a second round such that one or more of the words remains uncompressed after the second round compression and one or more of the words uncompressed after the first round is compressed after the second round compression to include three bit sections, the first bit section indicating the second dictionary, the second bit section comprising an index to bits stored in the second dictionary, and the third bit section containing the removed combination of bits.
15. The system of claim 14, wherein the CLADE module is further operable for:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first and second rounds;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first and second rounds, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a third dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first and second rounds that is associated with the highest compression score.
16. The system of claim 15, wherein the CLADE module is further operable for:
compressing the cache line on a third round such that one or more of the words uncompressed after the first and second rounds is compressed after the third round compression to include three bit sections, the first bit section indicating the third dictionary, the second bit section comprising an index to bits stored in the third dictionary, and the third bit section containing the removed combination of bits.
17. The system of claim 16, wherein the cache line is saved to a tightly coupled memory device after the third round of compression.
18. The system of claim 17, wherein the CLADE module is further operable for:
recognizing a request from a processing component to the tightly coupled memory device for the cache line;
decompressing each word in the cache line by:
identifying a dictionary from the first bit section of the word;
querying the identified dictionary for bits indexed in the second bit section of the word; and
reconstructing the word by interleaving the queried bits with the removed combination of bits from the third bit section of the word; and

transmitting the decompressed word to the processing component.
19. The system of claim 11, wherein the objective function comprises a quadratically weighted compression ratio value.
20. The system of claim 11, wherein the PCD is in the form of a wireless telephone.
21. A computer program product comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for cache-line level compression and decompression (\u201cCLADE\u201d) of a data stream in a system on a chip (\u201cSoC\u201d) in a portable computing device (\u201cPCD\u201d), said method comprising:
iteratively removing combinations of bits from locations in each word of a cache line of an uncompressed data stream;
for each combination of removed bits, analyzing remaining bits in the word values of the cache line using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values of the cache line; and
based on a highest compression score, generating a first dictionary from the remaining bits in the word values after removal of the combination of bits associated with the highest compression score.
22. The computer program product of claim 21, said method further comprising:
compressing the cache line on a first round such that one or more of the words remains uncompressed after the first round compression and one or more of the words is compressed after the first round compression to include three bit sections, the first bit section indicating the first dictionary, the second bit section comprising an index to bits stored in the first dictionary, and the third bit section containing the removed combination of bits.
23. The computer program product of claim 22, said method further comprising:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first round;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first round, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a second dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first round that is associated with the highest compression score.
24. The computer program product of claim 23, said method further comprising:
compressing the cache line on a second round such that one or more of the words remains uncompressed after the second round compression and one or more of the words uncompressed after the first round is compressed after the second round compression to include three bit sections, the first bit section indicating the second dictionary, the second bit section comprising an index to bits stored in the second dictionary, and the third bit section containing the removed combination of bits.
25. The computer program product of claim 24, said method further comprising:
iteratively removing combinations of bits from locations in each word of the cache line uncompressed after the first and second rounds;
for each combination of removed bits from locations in each word of the cache line uncompressed after the first and second rounds, analyzing remaining bits in the word values using an objective function, wherein the objective function generates a compression score that quantifies the value of a dictionary built from the remaining bits in the word values; and
based on a highest compression score, generating a third dictionary from the remaining bits in the word values after removal of the combination of bits from locations in each word of the cache line uncompressed after the first and second rounds that is associated with the highest compression score.
26. The computer program product of claim 25, said method further comprising:
compressing the cache line on a third round such that one or more of the words uncompressed after the first and second rounds is compressed after the third round compression to include three bit sections, the first bit section indicating the third dictionary, the second bit section comprising an index to bits stored in the third dictionary, and the third bit section containing the removed combination of bits.
27. The computer program product of claim 26, wherein the cache line is saved to a tightly coupled memory device after the third round of compression.
28. The computer program product of claim 27, said method further comprising:
recognizing a request from a processing component to the tightly coupled memory device for the cache line;
decompressing each word in the cache line by:
identifying a dictionary from the first bit section of the word;
querying the identified dictionary for bits indexed in the second bit section of the word; and
reconstructing the word by interleaving the queried bits with the removed combination of bits from the third bit section of the word; and

transmitting the decompressed word to the processing component.
29. The computer program product of claim 21, wherein the objective function comprises a quadratically weighted compression ratio value.
30. The computer program product of claim 21, wherein the PCD is in the form of a wireless telephone.