IP Library Granted Patent US 8,265,863
Granted Patent B2
US 8,265,863 · App. 11/693,208 · Granted Sep 11, 2012

Real-time collision avoidance for map labels and symbols

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,265,863
App. No.
11/693,208
Granted
Sep 11, 2012
Kind
B2
Abstract

A method of displaying a map on a wireless communications device includes obtaining map data for rendering the map to be displayed on the wireless communications device, the map data including label data for rendering labels on the map. The device generates a collision-avoidance array representative of the map to be rendered for testing potential label positions prior to actually rendering the labels on the map. The collision-avoidance array is populated by provisionally designating, for each successive label to be rendered, a label space in the collision-avoidance array that corresponds to a map space that is to be occupied by the label on the map. The device then determines whether each successive label to be rendered collides in the collision-avoidance array with any previously designated label spaces. If no collision exists for a given label, the label can be rendered on the map.

Claims (28)

1. A method of displaying a map on a wireless communications device, the method comprising:

obtaining map data for rendering the map to be displayed on the wireless communications device by downloading the map data over a wireless link, the map data including label data for rendering labels on the map, wherein the labels comprise at least one symbol or icon;

generating a collision-avoidance array representative of the map to be rendered for testing potential label positions prior to actually rendering the labels on the map;

populating the collision-avoidance array by provisionally designating, for each successive label to be rendered, a label space in the collision-avoidance array that corresponds to a map space that is to be occupied by the label on the map and by determining whether each successive label to be rendered collides in the collision-avoidance array with any previously designated label spaces; and

rendering the labels on the map in the map spaces corresponding to the label spaces designated in the collision-avoidance array;

wherein populating the collision-avoidance array comprises:

for each successive label to be rendered, provisionally designating the label space in the collision-avoidance array such that a midpoint of the corresponding map space aligns with a midpoint of a map feature to which the label relates;

determining whether the provisionally designated label space collides with any previously designated label spaces in the collision-avoidance array;

if the provisionally designated label space does not collide with any previously designated label spaces in the collision-avoidance array, then definitively designating the label space for rendering the label at the corresponding map space on the map; and

if the provisionally designated label space collides with any previously designated label spaces in the collision-avoidance array, then testing a new label space by repositioning the label space either beyond a collision point for cases where less than half of the label space fits before the collision point or before the collision point for cases where more than half of the label space fits before the collision point.

2. The method as claimed in claim 1 wherein populating the collision-avoidance array further comprises prioritizing the labels such that the collision-avoidance array is populated by provisionally designating label spaces for labels of highest priority to lowest priority.

3. A computer readable medium comprising code to perform the method of claim 1 when the computer readable medium is loaded into memory and executed on a processor of a wireless communications device.

4. A computer readable medium comprising code to perform the method of claim 2 when the computer readable medium is loaded into memory and executed on a processor of a wireless communications device.

5. A wireless communications device for enabling a user of the device to display a map on the device, the wireless device comprising:

an input device for enabling the user to cause the device to obtain map data for rendering the map to be displayed on a display of the device by downloading the map data over a wireless link, the map data including label data for rendering labels on the map for identifying one or more map features, wherein the labels comprise at least one symbol or icon; and

a memory for storing code to instruct a processor to:

generate a collision-avoidance array representative of the map to be rendered for testing potential label positions prior to actually rendering the labels on the map;

populate the collision-avoidance array by provisionally designating, for each successive label to be rendered, a label space in the collision-avoidance array that corresponds to a map space that is to be occupied by the label on the map and by determining whether each successive label to be rendered collides in the collision-avoidance array with any previously designated label spaces; and

render the labels on the map in the map spaces corresponding to the label spaces designated in the collision-avoidance array;

wherein the processor populates the collision-avoidance array by:

for each successive label to be rendered, provisionally designating the label space in the collision-avoidance array such that a midpoint of the corresponding map space aligns with a midpoint of a map feature to which the label relates;

determining whether the provisionally designated label space collides with any previously designated label spaces in the collision-avoidance array;

if the provisionally designated label space does not collide with any previously designated label spaces in the collision-avoidance array, then definitively designating the label space for rendering the label at the corresponding map space on the map; and

if the provisionally designated label space collides with any previously designated label spaces in the collision-avoidance array, then testing a new label space by repositioning the label space either beyond a collision point for cases where less than half of the label space fits before the collision point or before the collision point for cases where more than half of the label space fits before the collision point.

6. The wireless communications device as claimed in claim 5 wherein the processor populates the collision-avoidance array by prioritizing the labels such that the collision-avoidance array is populated by provisionally designating label spaces for labels of highest priority to lowest priority.

7. The method as claimed in claim 1 wherein the generating of the collision-avoidance array occurs prior to prioritizing the labels.

8. The computer readable medium as claimed in claim 3 wherein the generating of the collision-avoidance array occurs prior to prioritizing the labels.

9. The wireless communications device as claimed in claim 5 wherein the processor generates the collision-avoidance array before prioritizing the labels.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Nov 4, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034161/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2007
From: BOWMAN, GORDON GREGORY; KLASSEN, GERHARD DIETRICH; JOHNSON, ERIC
To: RESEARCH IN MOTION LIMITED
Reel/Frame 019086/0551 →