# US 2014/0153826 A1 · System for Histogram Computation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0153826 A1
- Document ID: US20140153826A1
- Status: Published application
- Kind: A1
- Application number: 14/093,861
- Filed: 2013-12-02
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: Siemens Medical Solutions USA, Inc.
- Inventors: Marianna Gnedin
- Web page: https://patentgrep.com/patent/US20140153826A1

## CPC

- G06T 7/41: based on statistical description of texture
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A system and method includes reception of a first image data value of a digital image, determination of a first index based on the first image data value, determination of a value stored in a first array of a first shared memory at the first index, and determination of whether the value stored in the first array of the first shared memory at the first index is equal to the first image data value. If the value stored in the first array of the first shared memory at the first index is equal to the first image data value, 1 is added to a count value stored in a second array of the first shared memory at the first index. If the value stored in the first array of the first shared memory at the first index is not equal to the first image data value a count value stored in a second shared memory in association with the first image data value is updated.

## Claims

### Claim 1

A system comprising:
a first processing unit;
a first shared memory accessible by the first processing unit; and
a second shared memory accessible by the first processing unit,
wherein the first processing unit is to:
receive a first image data value of a digital image;
determine a first index based on the first image data value;
determine a value stored in a first array of the first shared memory at the first index;
determine if the value stored in the first array of the first shared memory at the first index is equal to the first image data value;
if the value stored in the first array of the first shared memory at the first index is equal to the first image data value, add 1 to a count value stored in a second array of the first shared memory at the first index; and
if the value stored in the first array of the first shared memory at the first index is not equal to the first image data value, update a count value stored in the second shared memory in association with the first image data value.

### Claim 2 (depends on 1)

A system according to claim 1, wherein update of the count value stored in the second shared memory in association with the first image data value comprises:
determining the count value stored in the second array of the first shared memory at the first index; and
incrementing, by the determined count value, the count value stored in the second shared memory in association with the first image data value.

### Claim 3 (depends on 2)

A system according to claim 2, wherein the first processing unit is further to:
determine if the value stored in the first array of the first shared memory at the first index is a flag; and
if it is determined that the value stored in the first array of the first shared memory at the first index is a flag, write the image data value into the first array of the first shared memory at the first index, and write a count value of 1 into the second array of the first shared memory at the first index.

### Claim 4 (depends on 1)

A system according to claim 1, wherein update of the count value stored in the second shared memory in association with the first image data value comprises:
adding 1 to the count value stored in the second shared memory in association with the first image data value.

### Claim 5 (depends on 4)

A system according to claim 4, wherein the first processing unit is further to:
determine if the value stored in the first array of the first shared memory at the first index is a flag; and
if it is determined that the value stored in the first array of the first shared memory at the first index is a flag, write the image data value into the first array of the first shared memory at the first index, and write a count value of 1 into the second array of the first shared memory at the first index.

### Claim 6 (depends on 1)

A system according to claim 1, further comprising:
a second processing unit,
wherein the first shared memory is accessible by the second processing unit and the second shared memory is accessible by the second processing unit, and
wherein the second processing unit is to:
receive a second image data value of the digital image;
determine a second index based on the second image data value;
determine a second value stored in the first array of the first shared memory at the second index;
determine if the second value stored in the first array of the first shared memory at the second index is equal to the second image data value;
if the second value stored in the first array of the first shared memory at the second index is equal to the second image data value, add 1 to a second count value stored in the second array of the first shared memory at the second index; and
if the value stored in the first array of the first shared memory at the second index is not equal to the second image data value, update a second count value stored in the second shared memory in association with the second image data value.

### Claim 7 (depends on 6)

A system according to claim 6, wherein update of the second count value stored in the second shared memory in association with the second image data value comprises:
determining the second count value stored in the second array of the first shared memory at the second index; and
incrementing, by the determined count value, the second count value stored in the second shared memory in association with the second image data value.

### Claim 8 (depends on 6)

A system according to claim 6, wherein update of the second count value stored in the second shared memory in association with the second image data value comprises:
adding 1 to the second count value stored in the second shared memory in association with the second image data value.

### Claim 9 (depends on 6)

A system according to claim 6, further comprising:
a third processing unit; and
a third shared memory,
wherein the first shared memory is not accessible by the third processing unit, the second shared memory is accessible by the third processing unit, and the third shared memory is accessible by the third processing unit, and
wherein the third processing unit is to:
receive a third image data value of the digital image;
determine a third index based on the third image data value;
determine a third value stored in a first array of the third shared memory at the third index;
determine if the third value stored in the first array of the third shared memory at the third index is equal to the third image data value;
if the third value stored in the first array of the third shared memory at the third index is equal to the third image data value, add 1 to a third count value stored in a second array of the third shared memory at the third index; and
if the third value stored in the first array of the third shared memory at the third index is not equal to the third image data value, update a third count value stored in the second shared memory in association with the third image data value.

### Claim 10 (depends on 1)

A system according to claim 1, further comprising:
a second processing unit; and
a third shared memory accessible by the second processing unit,
wherein the first shared memory is not accessible by the second processing unit and the third shared memory is not accessible by the first processing unit, and
wherein the second processing unit is to:
receive a second image data value of the digital image;
determine a second index based on the second image data value;
determine a second value stored in a first array of the third shared memory at the second index;
determine if the second value stored in the first array of the third shared memory at the second index is equal to the second image data value;
if the second value stored in the first array of the third shared memory at the second index is equal to the second image data value, add 1 to a second count value stored in a second array of the third shared memory at the second index; and
if the second value stored in the first array of the third shared memory at the second index is not equal to the second image data value, update a second count value stored in the second shared memory in association with the second image data value.

### Claim 11

A method comprising:
receiving, by a first execution thread, a first image data value of a digital image;
determining, by the first execution thread, a first index based on the first image data value;
determining, by the first execution thread, a value stored in a first array of a first shared memory at the first index;
determining, by the first execution thread, if the value stored in the first array of the first shared memory at the first index is equal to the first image data value;
if the value stored in the first array of the first shared memory at the first index is equal to the first image data value, adding, by the first execution thread, 1 to a count value stored in a second array of the first shared memory at the first index; and
if the value stored in the first array of the first shared memory at the first index is not equal to the first image data value, updating, by the first execution thread, a count value stored in a second shared memory in association with the first image data value.

### Claim 12 (depends on 11)

A method according to claim 11, wherein updating the count value stored in the second shared memory in association with the first image data value comprises:
determining the count value stored in the second array of the first shared memory at the first index; and
incrementing, by the determined count value, the count value stored in the second shared memory in association with the first image data value.

### Claim 13 (depends on 12)

A method according to claim 12, further comprising:
determining, by the first execution thread, if the value stored in the first array of the first shared memory at the first index is a flag; and
if it is determined that the value stored in the first array of the first shared memory at the first index is a flag, writing the image data value into the first array of the first shared memory at the first index, and writing a count value of 1 into the second array of the first shared memory at the first index.

### Claim 14 (depends on 11)

A method according to claim 11, wherein updating the count value stored in the second shared memory in association with the first image data value comprises:
adding 1 to the count value stored in the second shared memory in association with the first image data value.

### Claim 15 (depends on 14)

A method according to claim 14, further comprising:
determining, by the first execution thread, if the value stored in the first array of the first shared memory at the first index is a flag; and
if it is determined that the value stored in the first array of the first shared memory at the first index is a flag, writing the image data value into the first array of the first shared memory at the first index, and writing a count value of 1 into the second array of the first shared memory at the first index.

### Claim 16 (depends on 11)

A method according to claim 11, further comprising:
receiving, by a second execution thread, a second image data value of the digital image;
determining, by the second execution thread, a second index based on the second image data value;
determining, by the second execution thread, a second value stored in the first array of the first shared memory at the second index;
determining, by the second execution thread, if the second value stored in the first array of the first shared memory at the second index is equal to the second image data value;
if the second value stored in the first array of the first shared memory at the second index is equal to the second image data value, adding, by the second execution thread, 1 to a second count value stored in the second array of the first shared memory at the second index; and
if the value stored in the first array of the first shared memory at the second index is not equal to the second image data value, updating, by the second execution thread, a second count value stored in the second shared memory in association with the second image data value.

### Claim 17 (depends on 16)

A method according to claim 16, wherein updating the second count value stored in the second shared memory in association with the second image data value comprises:
determining the second count value stored in the second array of the first shared memory at the second index; and
incrementing, by the determined count value, the second count value stored in the second shared memory in association with the second image data value.

### Claim 18 (depends on 16)

A method according to claim 16, wherein updating the second count value stored in the second shared memory in association with the second image data value comprises:
adding 1 to the second count value stored in the second shared memory in association with the second image data value.

### Claim 19 (depends on 16)

A method according to claim 16, further comprising:
receiving, by a third execution thread, a third image data value of the digital image;
determining, by the third execution thread, a third index based on the third image data value;
determining, by the third execution thread, a third value stored in a first array of a third shared memory at the third index;
determining, by the third execution thread, if the third value stored in the first array of the third shared memory at the third index is equal to the third image data value;
if the third value stored in the first array of the third shared memory at the third index is equal to the third image data value, adding, by the third execution thread, 1 to a third count value stored in a second array of the third shared memory at the third index; and
if the third value stored in the first array of the third shared memory at the third index is not equal to the third image data value, updating, by the third execution thread, a third count value stored in the second shared memory in association with the third image data value,
wherein the first shared memory is not accessible by the third execution thread, the second shared memory is accessible by the third execution thread, and the third shared memory is accessible by the third execution thread.

### Claim 20 (depends on 11)

A method according to claim 11, further comprising:
receiving, by a second execution thread, a second image data value of the digital image;
determining, by the second execution thread, a second index based on the second image data value;
determining, by the second execution thread, a second value stored in a first array of a third shared memory at the second index;
determining, by the second execution thread, if the second value stored in the first array of the third shared memory at the second index is equal to the second image data value;
if the second value stored in the first array of the third shared memory at the second index is equal to the second image data value, adding, by the second execution thread, 1 to a second count value stored in a second array of the third shared memory at the second index; and
if the second value stored in the first array of the third shared memory at the second index is not equal to the second image data value, updating, by the second execution thread, a second count value stored in the second shared memory in association with the second image data value,
wherein the first shared memory is not accessible by the second execution thread, the second shared memory is accessible by the second execution thread, and the third shared memory is accessible by the second execution thread.
