IP Library › Granted Patent US 8,810,439
Granted Patent B1
US 8,810,439 · App. 13/782,819 · Granted Aug 19, 2014

Encoder, decoder and method

Inventor: Ossi Mikael Kalevo (Toijala, FI)
Assignee: Gurulogic Microsystems Oy
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,810,439
App. No.
13/782,819
Granted
Aug 19, 2014
Kind
B1
Abstract

There is provided an encoder and decoder for encoding and decoding input data (D 1 , D 2 or D 3 ) to generate corresponding encoded output data (D 2 or D 3 , D 5 ). The encoder includes a data processing arrangement, optionally for analyzing a range of values present in the input data (D 1 ) to determine at least one pre- and/or post-pedestal value, optionally to translate the input data (D 1 ) using the at least one pre- and/or post-pedestal value to generate translated data, and then to apply a form of ODelta coding to the data, optionally translated data, to generate processed data, and to combine the processed data and optionally the at least one pre- and/or post-pedestal value for generating the encoded output data (D 2 or D 3 ). The decoder includes a data processing arrangement for processing the encoded data (D 2 or D 3 ), optionally to extract therefrom at least one pre- and/or post-pedestal value.

Claims (43)

1. An encoder ( 10 ) for encoding input data (D 1 ) to generate corresponding encoded output data (D 2 or D 3 ), wherein the encoder ( 10 ) includes a data processing arrangement for analyzing values present in the input data (D 1 ), and for translating the input data (D 1 ) using results of the analysis to generate translated data, and then to apply a form of ODelta coding to the translated data to generate processed data, and to combine the processed data with the results of the analysis for generating the encoded output data (D 2 or D 3 ).

2. The encoder ( 10 ) as claimed in claim 1 , wherein the data processing arrangement is operable to analyze a range of values in the input data (D 1 ) and to generate at least one pre- and/or post-pedestal value for use in generating the translated data, and is operable to combine the processed data and the at least one pedestal value for generating the encoded output data (D 2 or D 3 ).

3. The encoder ( 10 ) as claimed in claim 1 , wherein the encoder ( 10 ) is operable to subdivide the input data (D 1 ) into a plurality of sections of data which are separately encoded.

4. The encoder ( 10 ) as claimed in claim 3 , wherein the encoder ( 10 ) is operable to apply the form of ODelta coding selectively to the sections of data only when data compression is thereby achievable in the encoded output data (D 2 or D 3 ).

5. The encoder ( 10 ) as claimed in claim 3 , wherein the encoder ( 10 ) is operable to subdivide the input data (D 1 ) into a plurality of sections depending upon run-lengths of mutually similar bits in the processed data which are efficient for encoding using run-length encoding (RLE), Huffman coding, variable-length encoding (VLE), range coding and/or arithmetic encoding.

6. The encoder ( 10 ) as claimed in claim 1 , wherein the encoder ( 10 ) is operable to apply a form of 1-bit ODelta coding to the translated data.

7. The encoder ( 10 ) as claimed in claim 6 , wherein the encoder ( 10 ) is operable to employ a default first value for a series of encoded values present in the output encoded data (D 2 or D 3 ).

8. The encoder ( 10 ) as claimed in claim 7 , wherein the default first value is “0”.

9. The encoder ( 10 ) as claimed in claim 1 , wherein the encoder ( 10 ) is operable to apply additional encoding to the processed data to generate the encoded output data (D 2 ), wherein the additional encoding includes at least one of: run-length encoding (RLE), variable length coding (VLC), Huffman coding, arithmetic coding, range coding.

10. The encoder ( 10 ) as claimed in claim 1 , wherein the form of ODelta coding employs wraparound within a defined parameter value.

11. The encoder ( 10 ) as claimed in claim 1 , wherein the processing arrangement is implementing using computing hardware operable to execute one or more software products recorded on machine-readable data-storage media.

12. A codec ( 30 ) including at least one encoder ( 10 ) as claimed in claim 1 for encoding input data (D 1 ) to generate corresponding encoded data (D 2 ), and at least one decoder ( 20 ) for decoding the encoded data (D 2 or D 3 ) to generate corresponding decoded data (D 5 ), the at least one decoder ( 20 ) comprising a data processing arrangement for processing the encoded data (D 2 or D 3 ) to extract therefrom at least one pre- and/or post-pedestal value, for applying a form of ODelta decoding to one or more portions of the encoded data (D 2 or D 3 ) to generate corresponding processed data, and to translate the one or more portions using the at least one pre- and/or post-pedestal value to generate the decoded output data (D 5 ).

13. A method of using an encoder ( 10 ) for encoding input data (D 1 ) to generate corresponding encoded output data (D 2 ), wherein the method includes:

(a) using a data processing arrangement for analyzing values present in the input data (D 1 );

(b) using the data processing arrangement to translate the input data (D 1 ) based upon results of the analysis to generate translated data;

(c) using the data processing arrangement to apply a form of ODelta coding to the translated data to generate processed data; and

(d) using the data processing arrangement to combine the processed data and results of the analysis for generating the encoded output data (D 2 or D 3 ).

14. The method as claimed in claim 13 , wherein the method includes using the data processing arrangement to analyze a range of values in the input data (D 1 ) and to generate at least one pre- and/or post-pedestal value for use in generating the translated data, and to combine the processed data and the at least one pedestal value for generating the encoded output data (D 2 or D 3 ).

15. The method as claimed in claim 13 , wherein the method includes using the data processing arrangement to subdivide the input data (D 1 ) into a plurality of sections of data which are then separately encoded.

16. The method as claimed in claim 15 , wherein the method includes applying the form of ODelta coding selectively to the sections of data only when data compression is thereby achievable in the encoded output data (D 2 or D 3 ).

17. The method as claimed in claim 15 , wherein the method includes applying a form of 1-bit ODelta coding (ODelta) to the translated data.

18. The method as claimed in claim 17 , wherein the method includes employing a default first value for a series of encoded values present in the output encoded data (D 2 or D 3 ).

19. The method as claimed in claim 18 , wherein the method includes employing a value “0” for the default first value.

20. The method as claimed in claim 13 , wherein the method includes applying additional encoding to the processed data to generate the encoded output data (D 2 or D 3 ), wherein the additional encoding includes at least one of: run-length encoding (RLE), variable length coding (VLC), Huffman coding, arithmetic coding, range coding.

21. The method as claimed in claim 13 , wherein the form of ODelta coding employs wraparound within a defined parameter value.

22. The method as claimed in claim 13 , wherein the method includes implementing the processing arrangement using computing hardware operable to execute one or more software products recorded on machine-readable data-storage media.

23. A computer program product comprising a non-transitory computer readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a computerized device comprising a processor to execute a method of encoding data as claimed in claim 13 .

24. A decoder ( 20 ) for decoding encoded data (D 2 or D 3 ) to generate corresponding decoded output data (D 5 ), wherein the decoder ( 20 ) includes a data processing arrangement for processing the encoded data (D 2 or D 3 ) to extract therefrom at least one pre- and/or post-pedestal value, for applying a form of ODelta decoding to one or more portions of the encoded data (D 2 or D 3 ) to generate corresponding processed data, and to translate the one or more portions using the at least one pre- and/or post-pedestal value to generate the decoded output data (D 5 ).

25. The decoder ( 20 ) as claimed in claim 24 , wherein the data processing arrangement is operable to apply to data being processed therethrough an inverse of at least one of: run-length encoding (RLE), variable-length coding (VLC), Huffman coding, arithmetic coding, range coding.

26. The decoder ( 20 ) as claimed in claim 24 , wherein the data processing arrangement is operable to employ wraparound in a digital parameter when implemented the form of ODelta decoding.

27. The decoder ( 20 ) as claimed in claim 24 , wherein the data processing arrangement is operable to assume a default value of first value in a series of data being decoded therethrough.

28. The decoder ( 20 ) as claimed in claim 27 , wherein the default value has a value “0”.

29. The decoder ( 20 ) as claimed in claim 24 , wherein the processing arrangement is implementing using computing hardware operable to execute one or more software products recorded on machine-readable data-storage media.

30. A method of using a decoder ( 20 ) for decoding encoded data (D 2 or D 3 ) to generate corresponding decoded output data (D 5 ), wherein the method includes:

(a) using a data processing arrangement to process the encoded data (D 2 or D 3 ) to extract therefrom at least one pre- and/or post-pedestal value;

(b) using the data processing arrangement to apply a form of ODelta decoding to one or more portions of the encoded data (D 2 or D 3 ) to generate corresponding processed data; and

(c) using the data processing arrangement to translate the one or more portions using the at least one pre- and/or post-pedestal value to generate the decoded output data (D 5 ).

31. The method as claimed in claim 30 , wherein the method includes using the data processing arrangement to apply to data being processed therethrough an inverse of at least one of: run-length encoding (RLE), variable-length coding (VLC), Huffman coding, arithmetic coding, range coding.

32. The method as claimed in claim 30 , wherein the method includes using the data processing arrangement to employ wraparound in a digital parameter when implemented the form of ODelta decoding.

33. The method as claimed in claim 30 , wherein the method including using the data processing arrangement to assume a default value of first value in a series of data being decoded therethrough.

34. The method as claimed in claim 33 , wherein the default value has a value “0”.

35. The method as claimed in claim 30 , wherein the method includes implementing the processing arrangement using computing hardware operable to execute one or more software products recorded on machine-readable data-storage media.

36. A computer program product comprising a non-transitory computer readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a computerized device comprising a processor to execute a method of decoding data as claimed in claim 30 .

Assignments (3)
SECURITY INTEREST Recorded Apr 6, 2026
From: GL IP PROTECT LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075366/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2026
From: GURULOGIC MICROSYSTEMS OY
To: GL IP PROTECT LLC
Reel/Frame 074092/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2013
From: KALEVO, OSSI MIKAEL
To: GURULOGIC MICROSYSTEMS OY
Reel/Frame 029908/0717 →
Priority Claims (1)
GB 1303661.1 · Mar 1, 2013 · national