# US 7,609,847 B2 · Methods and systems for determining object layouts

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

- Number: US 7,609,847 B2
- Document ID: US7609847B2
- Status: Granted
- Kind: B2
- Application number: 10/995,686
- Filed: 2004-11-23
- Published: 2006-05-25
- Granted: 2009-10-27
- Earliest claimed: 2004-11-23
- Assignees: Hewlett-Packard Development Company, L.P.
- Inventors: Simon Widdowson; Xiaofan Un
- Web page: https://patentgrep.com/patent/US7609847B2

## CPC

- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods according to the present invention provide techniques to automatically generate an object layout. Various candidate placement positions are evaluated by computing values associated with placing the object at the placement positions. Cost functions associated with contrast, saliency and/or sharpness can be used to evaluate the desirability of each candidate placement position.

## Claims

### Claim 1

A method, comprising
operating a computer processor to perform operations comprising:
ascertaining a respective score for each of multiple positions of a graphic object in a background image, wherein the ascertaining of each of the scores comprises evaluating a function that depends on characteristics of the graphic object and characteristics of the background image and provides a quantitative assessment of a placement of the graphic object at the respective position in the background image, the ascertaining comprises determining values of color contrast between the graphic object and the background image, and the ascertaining further comprises determining the scores from the determined color contrast values;
selecting one of the positions based on the scores; and
producing an output image, wherein the producing comprises superimposing the graphic object on the background image at the selected position.

### Claim 2 (depends on 1)

The method of claim 1, wherein the graphic object is a text string.

### Claim 3 (depends on 1)

The method of claim 1, wherein the function depends on a measure of contrast between the graphic object and the background image.

### Claim 4 (depends on 1)

The method of claim 1, wherein the function depends on at least one of a measure of contrast between the graphic object and the background image, a measure of saliency of the background image at each respective position, and a measure of sharpness of the background image at each respective position.

### Claim 5 (depends on 1)

The method of claim 1, wherein the positions include all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 6 (depends on 1)

The method of claim 1, wherein the positions include only a subset of all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 7 (depends on 6)

The method of claim 6, wherein the subset of all positions includes a set of predetermined positions.

### Claim 8 (depends on 1)

The method of claim 1, further comprising the steps of:
segmenting the background image into image segments; and
determining respective features of each of the image segments;
wherein the ascertaining comprises ascertaining a respective one of the scores for each of the image segments based on a function that depends on the respective features of the segment.

### Claim 9 (depends on 1)

The method of claim 1, wherein the function is a cost function Cost (x,y) that is defined by:
Cost
⁡
(
x
,
y
)
=
∑
all
⁢
⁢
segments
⁡
(
sharpness
n
⋆
saliency
m
⋆
F
segment
⁢
/
⁢
constrast
k
)
where:
(x,y) are placement coordinates within the background image currently being evaluated as a candidate for placement of the object, sharpness is a value of sharpness of the background image at position (x,y), saliency is a value of saliency of the background image at position (x,y), contrast is a value of contrast between the background image and the object, Fsegment is a fraction of a background image segment obscured by the object when it is placed at position (x,y), and n, m and k are constant.

### Claim 10 (depends on 1)

The method of claim 1, wherein the function is a scoring function Si(C) that is defined by:
Si(C)=wAAi(C)+wPPi(C)+wBBi(C)
wherein C is an object identifier, i is a position index, A, P and B represent scores based on aesthetics, customer preferences and business needs, respectively, and wA, wB, and wC are weights assigned to each of the factors A, P and B.

### Claim 11

A computer-readable medium storing computer-readable instructions that, when executed by a computer, cause the computer to perform operations comprising:
ascertaining a respective score for each of multiple positions of a graphic object in a background image, wherein the ascertaining of each of the scores comprises evaluating a function that depends on characteristics of the graphic object and characteristics of the background image and provides a quantitative assessment of a placement of the graphic object at the respective position in the background image, the ascertaining comprises determining values of color contrast between the graphic object and the background image, and the ascertaining further comprises determining the scores from the determined color contrast values;
selecting one of the positions based on application of an optimization criteria on the scores; and
producing an output image, wherein the producing comprises superimposing the graphic object on the background image at the selected position.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein the graphic object is a text string.

### Claim 13 (depends on 11)

The computer-readable medium of claim 11, wherein the function depends on a measure of contrast between the graphic object and the background image.

### Claim 14 (depends on 11)

The computer-readable medium of claim 11, wherein the function depends on at least one of a measure of contrast between the graphic object and the background image, a measure of saliency of the background image at each respective position, and a measure of sharpness of the background image at each respective position.

### Claim 15 (depends on 11)

The computer-readable medium of claim 11, wherein the positions include all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 16 (depends on 11)

The computer-readable medium of claim 11, wherein the positions include only a subset of all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 17 (depends on 16)

The computer-readable medium of claim 16, wherein the subset of all positions includes a set of predetermined positions.

### Claim 18 (depends on 11)

The computer-readable medium of claim 11, wherein, when executed by the computer, the instructions cause the computer to perform operations comprising:
segmenting the background image into image segments; and
determining respective features of each of the image segments;
wherein the ascertaining comprises ascertaining a respective one of the scores for each of the image segments based on a function that depends on the respective features of the segment.

### Claim 19 (depends on 11)

The computer-readable medium of claim 11, wherein the function is a cost function Cost(x,y) that is defined by:
Cost
⁡
(
x
,
y
)
=
∑
all
⁢
⁢
segments
⁡
(
sharpness
n
⋆
saliency
m
⋆
F
segment
⁢
/
⁢
constrast
k
)
where:
(x,y) are placement coordinates within the background image currently being evaluated as a candidate for placement of the object, sharpness is a value of sharpness of the background image at position (x,y), saliency is a value of saliency of the background image at position (x,y), contrast is a value of contrast between the background image and the object, Fsegment is a fraction of a background image segment obscured by the object when it is placed at position (x,y), and n, m and k are constants.

### Claim 20 (depends on 11)

The computer-readable medium of claim 11, wherein the function is a scoring function Si(C) that is defined by:
Si(C)=wAAi(C)+wPPi(C)+wBBi(C)
wherein C is an object identifier, i is a position index, A, P and B represent scores based on aesthetics, customer preferences and business needs, respectively, and wA, wB, and wC are weights assigned to each of the factors A, P and B.

### Claim 21

An image processing system comprising:
a computer-readable medium storing computer-readable instructions; and
a computer processor coupled to the computer-readable medium, operable to execute the instructions, and based at least in part on the execution of the instructions operable to perform operations comprising
ascertaining a respective score for each of multiple positions of a graphic object in a background image, wherein the ascertaining of each of the scores comprises evaluating a function that depends on characteristics of the graphic object and characteristics of the background image and provides a quantitative assessment of a placement of the graphic object at the respective position in the background image, the ascertaining comprises determining values of color contrast between the graphic object and the background image, and the ascertaining further comprises determining the scores from the determined color contrast values
selecting one of the positions based on the scores, and
producing an output image, wherein the producing comprises superimposing the graphic object on the background image at the selected position.

### Claim 22 (depends on 21)

The image processing system of claim 21, wherein the graphic object is a text string.

### Claim 23 (depends on 21)

The image processing system of claim 21, wherein the function depends on a measure of contrast between the graphic object and the background image.

### Claim 24 (depends on 21)

The image processing system of claim 21, wherein the function depends on at least one of a measure of contrast between the graphic object and the background image, a measure of saliency of the background image at each respective position, and a measure of sharpness of the background image at each respective position.

### Claim 25 (depends on 21)

The image processing system of claim 21, wherein the positions include all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 26 (depends on 21)

The image processing system of claim 21, wherein the positions include only a subset of all positions within the background image that permit the graphic object to be displayed within boundaries of the background image.

### Claim 27 (depends on 26)

The image processing system of claim 26, wherein the subset of all positions includes a set of predetermined positions.

### Claim 28 (depends on 21)

The image processing system of claim 21, wherein based at least in part on the execution of the instructions the processor is operable to perform operations comprising
segmenting the background image into image segments, and
determining respective features of each of the image segments;
wherein in the ascertaining the processor is operable to perform operations comprising ascertaining a respective one of the scores for each of the image segments based on a function that depends on the respective features of the segment.

### Claim 29 (depends on 23)

The image processing system of claim 23, wherein the function is a cost function Cost(x,y) that is defined by:
Cost
⁡
(
x
,
y
)
=
∑
all
⁢
⁢
segments
⁡
(
sharpness
n
⋆
saliency
m
⋆
F
segment
⁢
/
⁢
constrast
k
)
where:
(x,y) are placement coordinates within the background image currently being evaluated as a candidate for placement of the object, sharpness is a value of sharpness of the background image at position (x,y), saliency is a value of saliency of the background image at position (x,y), contrast is a value of contrast between the background image and the object, Fsegment is a fraction of a background image segment obscured by the object when it is placed at position (x,y), and n, m and k are constants which are used to vary a relative weighting between sharpness, saliency and contrast.

### Claim 30 (depends on 23)

The image processing system of claim 23, wherein the function is a scoring fraction Si(C) that is defined by:
Si(C)=wAAi(C)+wPPi(C)+wBBi(C)
wherein C is an object identifier, i is a position index, A, P and B represent scores based on aesthetics, customer preferences and business needs, respectively, and wA, wB, and wC are weights assigned to each of the factors A, P and B.

### Claim 31

An image processing system, comprising computer processor means for:
ascertaining a respective score for each of multiple positions of a graphic object in a background image, wherein the ascertaining of each of the scores comprises evaluating a function that depends on characteristics of the graphic object and characteristics of the background image and provides a quantitative assessment of a placement of the graphic object at the respective position in the background image, the ascertaining comprises determining values of color contrast between the graphic object and the background image, and the ascertaining further comprises determining the scores from the determined color contrast values;
selecting one of the positions based on the scores; and
superimposing the graphic object on the background image at the selected position in a process of producing an output image.
