IP Library › Granted Patent US 12,388,655
Granted Patent B2
US 12,388,655 · App. 18/361,261 · Granted Aug 12, 2025

Data processing systems

Inventors: Vladimir Dolzhenko (Loughborough, GB); Håkan Lars-Göran Persson (Bjärred, SE)
Assignee: Arm Limited
H04L9/3247H04N19/124H04N19/172
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,388,655
App. No.
18/361,261
Granted
Aug 12, 2025
Kind
B2
Abstract

A data processing system that comprises an encoder, and a communication system is disclosed. Compressed data produced by the encoder is decompressed to produce first decompressed data, and a first signature representative of the first decompressed data is generated. Compressed data that has been transferred by the communication system is decompressed to produce second decompressed data, and a second signature representative of the second decompressed data is generated. The first signature and the second signature are compared, and the comparison is used to determine whether an error has occurred.

Claims (80)

1. A method of operating a data processing system that comprises:

an encoder operable to compress data; and

a communication system operable to transfer data compressed by the encoder;

the method comprising:

the encoder compressing data to produce compressed data;

decompressing compressed data produced by the encoder to produce first decompressed data;

generating a first signature representative of the first decompressed data;

the communication system transferring compressed data produced by the encoder;

decompressing compressed data that has been transferred by the communication system to produce second decompressed data;

generating a second signature representative of the second decompressed data;

comparing the first signature and the second signature; and

using the comparison to determine whether an error has occurred.

2. The method of claim 1 , wherein the encoder compressing data comprises the encoder lossily compressing the data.

3. The method of claim 1 , wherein the encoder compressing data comprises:

the encoder lossily compressing the data to produce lossily compressed data, and then losslessly compressing the lossily compressed data; and

wherein decompressing compressed data produced by the encoder to produce first decompressed data, and generating a first signature representative of the first decompressed data comprises:

decompressing the lossily compressed data to produce lossily decompressed data, and generating the first signature to be representative of the lossily decompressed data.

4. The method of claim 3 , wherein lossily compressing the data comprises transforming the data to produce transformed data, and then quantizing the transformed data; and

wherein losslessly compressing the lossily compressed data comprises entropy encoding the quantized data.

5. The method of claim 1 , wherein the encoder compressing data comprises the encoder performing the step of decompressing compressed data produced by the encoder.

6. The method of claim 5 , wherein the encoder is a video encoder operable to compress video data by decompressing a previous encoded frame, and comparing a current frame with the decompressed previous encoded frame.

7. The method of claim 1 , comprising the communication system transferring the first signature together with the compressed data produced by the encoder.

8. The method of claim 7 , wherein transferring the first signature together with the compressed data produced by the encoder comprises storing the first signature in a header, and storing the compressed data as associated body data.

9. The method of claim 1 , wherein the data processing system comprises one or more processing units, the communication system comprises a communication bus and a memory, and the method comprises:

in response to a processing unit of the one or more processing units issuing a write transaction request on the bus:

the encoder compressing data generated by the processing unit to produce compressed data;

decompressing compressed data produced by the encoder to produce the first decompressed data;

generating the first signature representative of the first decompressed data; and

storing compressed data produced by the encoder and the first signature in the memory; and

in response to a processing unit of the one or more processing units issuing a read transaction request on the bus:

reading the compressed data and the first signature stored in the memory;

decompressing the read compressed data to produce the second decompressed data;

generating the second signature representative of the second decompressed data;

comparing the first signature and the second signature; and

using the comparison to determine whether an error has occurred.

10. A data processing system comprising:

an encoder operable to compress data; and

a communication system operable to transfer data compressed by the encoder;

wherein the data processing system is operable to:

decompress compressed data produced by the encoder to produce first decompressed data;

generate a first signature representative of the first decompressed data;

decompress compressed data that has been transferred by the communication system to produce second decompressed data;

generate a second signature representative of the second decompressed data;

compare the first signature and the second signature; and

use the comparison to determine whether an error has occurred.

11. The system of claim 10 , wherein the encoder is operable to compress data by lossily compressing the data.

12. The system of claim 10 , wherein the encoder is operable to compress data by:

lossily compressing the data to produce lossily compressed data, and then losslessly compressing the lossily compressed data; and

wherein the system is operable to decompress compressed data produced by the encoder to produce first decompressed data, and generate a first signature representative of the first decompressed data by:

decompressing the lossily compressed data to produce lossily decompressed data, and generating the first signature to be representative of the lossily decompressed data.

13. The system of claim 12 , wherein lossily compressing the data comprises transforming the data to produce transformed data, and then quantizing the transformed data; and

wherein losslessly compressing the lossily compressed data comprises entropy encoding the quantized data.

14. The system of claim 10 , wherein the encoder is operable to compress data by decompressing compressed data produced by the encoder.

15. The system of claim 14 , wherein the encoder is a video encoder operable to compress video data by decompressing a previous encoded frame, and comparing a current frame with the decompressed previous encoded frame.

16. The system of claim 10 , wherein the communication system is operable to transfer the first signature together with compressed data produced by the encoder.

17. The system of claim 16 , wherein the communication system is operable to transfer the first signature together with compressed data produced by the encoder by storing the first signature in a header, and storing the compressed data as associated body data.

18. The system of claim 10 , wherein the data processing system comprises one or more processing units, the communication system comprises a communication bus and a memory, and the system is operable to:

in response to a processing unit of the one or more processing units issuing a write transaction request on the bus:

compress, by the encoder, data generated by the processing unit to produce compressed data;

decompress compressed data produced by the encoder to produce the first decompressed data;

generate the first signature representative of the first decompressed data; and

store compressed data produced by the encoder and the first signature in the memory; and

in response to a processing unit of the one or more processing units issuing a read transaction request on the bus:

read the compressed data and the first signature stored in the memory;

decompress the read compressed data to produce the second decompressed data;

generate the second signature representative of the second decompressed data;

compare the first signature and the second signature; and

use the comparison to determine whether an error has occurred.

19. A non-transitory computer readable storage medium storing software code which when executing on a processor performs a method of operating a data processing system that comprises:

an encoder operable to compress data; and

a communication system operable to transfer data compressed by the encoder;

the method comprising:

the encoder compressing data to produce compressed data;

decompressing compressed data produced by the encoder to produce first decompressed data;

generating a first signature representative of the first decompressed data;

the communication system transferring compressed data produced by the encoder;

decompressing compressed data that has been transferred by the communication system to produce second decompressed data;

generating a second signature representative of the second decompressed data;

comparing the first signature and the second signature; and

using the comparison to determine whether an error has occurred.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2023
From: DOLZHENKO, VLADIMIR; PERSSON, HÅKAN LARS-GÖRAN
To: ARM LIMITED
Reel/Frame 064853/0636 →
Continuity (1)
Related Publication 20250038991A1 · Jan 30, 2025
References Cited (17)
US 10366026B1 · Diamant et al. · 2019 [cited by applicant]
US 20110078222A1 · Wegener · 2011 [cited by applicant]
US 20120281007A1 · Nystad et al. · 2012 [cited by applicant]
US 20130036290A1 · Nystad et al. · 2013 [cited by applicant]
US 20130198485A1 · Nystad et al. · 2013 [cited by applicant]
US 20140208003A1 · Cohen · 2014 [cited by applicant]
US 20150220277A1 · Lee et al. · 2015 [cited by applicant]
US 20200119928A1 · Rubin · 2020 [cited by examiner]
US 20200366314A1 · Romanovskii et al. · 2020 [cited by applicant]
US 20220050599A1 · Bjorling et al. · 2022 [cited by applicant]
GB 2519211A · 2015 [cited by applicant]
Non-Final Office Action dated Mar. 3, 2025, U.S. Appl. No. 18/261,604, 13 pages. [cited by applicant]
Non-Final Office Action dated Oct. 1, 2024, U.S. Appl. No. 18/261,604, 27 pages. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3), dated Oct. 18, 2021, GB Patent Application No. GB2100858.6. [cited by applicant]
International Search Report and Written Opinion dated Mar. 11, 2022, International Application No. PCT/GB2022/050179. [cited by applicant]
U.S. Appl. No. 18/261,604, filed Jul. 14, 2023. [cited by applicant]
Response to Non-Final Office Action dated Dec. 4, 2024, U.S. Appl. No. 18/261,604, 13 pages. [cited by applicant]