IP Library › Granted Patent US 12,184,309
Granted Patent B2
US 12,184,309 · App. 18/077,196 · Granted Dec 31, 2024

Dynamic content encoding

Inventors: Christian T. Martelock (Los Gatos, CA); Ali Sazegari (Los Altos, CA); Eric Bainville (Sunnyvale, CA)
Assignee: Apple Inc.
H03M7/30G06F40/211H03M7/3071H03M7/3079H03M7/42
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 12,184,309
App. No.
18/077,196
Granted
Dec 31, 2024
Kind
B2
Abstract

A method for encoding text includes grouping text as a sequence of bytes, the text comprising a string of characters, each byte corresponding to a character in the text. For each byte of the sequence of bytes: (a) each bit is processed from most significant bit to least significant bit to generate a context; and (b) a subsequent bit is predicted, using a prediction model, based on the context generated based on previously processed bits, prediction of the prediction model being a combination of predictions of a plurality of sub-models. An encoded bitstream is output based on the predicted bits. The encoded bitstream includes encoded data corresponding to the text.

Claims (35)

1. A method, comprising:

grouping text as a sequence of bytes, the text comprising a string of characters, each byte corresponding to a character in the text;

for each byte of the sequence of bytes:

processing each bit from most significant bit to least significant bit to generate a context; and

predicting a subsequent bit, using a prediction model, based on the context generated based on previously processed bits, prediction of the prediction model being a combination of predictions of a plurality of sub-models; and

outputting an encoded bitstream based on the predicted bits, the encoded bitstream comprising encoded data corresponding to the text.

2. The method of claim 1 , wherein predicting the subsequent bit comprises generating a probability, using each of the plurality of sub-models, that the subsequent bit is 1 using a corresponding pre-determined number of previously processed bits as context, the probability being determined by a hash table lookup for the corresponding sub-model.

3. The method of claim 1 , wherein at least one of the plurality of sub-models predicts a subsequent character based on a previously processed string of characters in the text.

4. The method of claim 1 , wherein each of the plurality of sub-models is static model and is pre-trained using a known data set.

5. The method of claim 1 , wherein the combination of predictions of the plurality of sub-models comprises combining different order predictions using a 3D function, each of the different order predictions obtained by combining a corresponding subset of sub-models among the plurality of sub-models.

6. The method of claim 5 , wherein a low order prediction is based on a sub-model that uses one previously processed bit as a context for predicting the subsequent bit.

7. The method of claim 5 , wherein combining the predictions of a first subset is performed using a medium order 3D function, and combining the predictions of a second subset is performed using a high order 3D function.

8. The method of claim 1 , wherein the outputted encoded bitstream comprises a first encoded portion indicating a size of the data being encoded, a single bit indicating whether the data is compressed, and a third encoded portion encoding the data corresponding to the text.

9. A non-transitory computer-readable medium including instructions, which when executed by at least one computing device, cause the at least one computing device to perform operations including:

grouping text as a sequence of bytes, the text comprising a string of characters, each byte corresponding to a character in the text;

for each byte of the sequence of bytes:

processing each bit from most significant bit to least significant bit to generate a context; and

predicting a subsequent bit, using a prediction model, based on the context generated based on previously processed bits, prediction of the prediction model being a combination of predictions of a plurality of sub-models; and

outputting an encoded bitstream based on the predicted bits, the encoded bitstream comprising encoded data corresponding to the text.

10. The non-transitory computer-readable medium of claim 9 , wherein predicting the subsequent bit comprises generating a probability, using each of the plurality of sub-models, that the subsequent bit is 1 using a corresponding pre-determined number of previously processed bits as context, the probability being determined by a hash table lookup for the corresponding sub-model.

11. The non-transitory computer-readable medium of claim 9 , wherein at least one of the plurality of sub-models predicts a subsequent character based on a previously processed string of characters in the text.

12. The non-transitory computer-readable medium of claim 9 , wherein each of the plurality of sub-models is static model and is pre-trained using a known data set.

13. The non-transitory computer-readable medium of claim 9 , wherein the combination of predictions of the plurality of sub-models comprises combining different order predictions using a 3D function, each of the different order predictions obtained by combining a corresponding subset of sub-models among the plurality of sub-models.

14. The non-transitory computer-readable medium of claim 13 , wherein a low order prediction is based on a sub-model that uses one previously processed bit as a context for predicting the subsequent bit.

15. The non-transitory computer-readable medium of claim 13 , wherein combining the predictions of a first subset is performed using a medium order 3D function, and combining the predictions of a second subset is performed using a high order 3D function.

16. The non-transitory computer-readable medium of claim 9 , wherein the outputted encoded bitstream comprises a first encoded portion indicating a size of the data being encoded, a single bit indicating whether the data is compressed, and a third encoded portion encoding the data corresponding to the text.

17. A device including an input, an output, a memory and at least one processor communicatively coupled to the memory, the at least one processor configured to:

group text as a sequence of bytes, the text comprising a string of characters, each byte corresponding to a character in the text;

for each byte of the sequence of bytes:

process each bit from most significant bit to least significant bit to generate a context; and

predict a subsequent bit, using a prediction model, based on the context generated based on previously processed bits, prediction of the prediction model being a combination of predictions of a plurality of sub-models; and

output an encoded bitstream based on the predicted bits, the encoded bitstream comprising encoded data corresponding to the text.

18. The device of claim 17 , wherein predicting the subsequent bit comprises generating a probability, using each of the plurality of sub-models, that the subsequent bit is 1 using a corresponding pre-determined number of previously processed bits as context, the probability being determined by a hash table lookup for the corresponding sub-model.

19. The device of claim 17 , wherein the combination of predictions of the plurality of sub-models comprises combining different order predictions using a 3D function, each of the different order predictions obtained by combining a corresponding subset of sub-models among the plurality of sub-models.

20. The device of claim 17 , wherein the outputted encoded bitstream comprises a first encoded portion indicating a size of the data being encoded, a single bit indicating whether the data is compressed, and a third encoded portion encoding the data corresponding to the text.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2022
From: MARTELOCK, CHRISTIAN T.; SAZEGARI, ALI; BAINVILLE, ERIC
To: APPLE INC.
Reel/Frame 062111/0379 →
Continuity (2)
Provisional Application 63335213 · Apr 26, 2022
Related Publication 20230344445A1 · Oct 26, 2023
Cited By (1)
US 12,524,262