IP Library Granted Patent US 11,257,198
Granted Patent B1
US 11,257,198 · App. 16/056,071 · Granted Feb 22, 2022

Detection of encoded signals and icons

Inventors: Vojtech Holub (Beaverton, OR); Tomas Filler (Beaverton, OR)
Assignee: Digimarc Corporation
G06T7/0002G06K9/00503G06K9/00523G06T1/0021G06T7/11G06T7/40G06T2201/0061
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 11,257,198
App. No.
16/056,071
Granted
Feb 22, 2022
Kind
B1
Abstract

The present disclosure relates to signal decoding and icon (e.g., a logo, shape, icon, etc.) detection. In some implementations, a series of filters are applied to scanlines to determine whether an icon is present. Other aspects, combinations and implementations are described as well.

Claims (49)

1. A method of detecting an encoded signal from an image frame including a graphical icon, said method comprising:

detecting a graphical icon within an image frame;

guiding decoding of an encoded signal within the image frame based on said

detection of the graphical icon, by selecting certain image blocks for signal decoding, instead of searching all areas within the image frame, comprising the following:

act i) determining a center image block within the image frame, and evaluating the center image block to determine whether it contains the encoded signal;

act ii) determining an image block centered around the graphical icon, and evaluating the image block centered around the graphical icon to determine whether it contains the encoded signal;

act iii) selecting one or more image blocks based on features contained within the image frame, and evaluating the selected one or more image blocks to determine whether the block(s) contains the encoded signal; and

act iv) random or pseudo-randomly selecting an image block within the image frame, and evaluating the random or pseudo-randomly selected image block to determine whether it contains the encoded signal; and

determining whether each block contains the encoded signal.

2. The method of claim 1 in which said random or pseudo-randomly selecting an image block within the image frame comprises random or pseudo-randomly selecting two or more blocks within the image frame.

3. The method of claim 2 in which the method operates in order of act i), act ii), act iii), and then act iv), and in which said method operates all acts i)-iv).

4. A method of detecting an encoded signal from an image frame including a graphical icon, said method comprising:

detecting a graphical icon within an image frame;

guiding decoding of an encoded signal within the image frame based on said detection of the graphical icon, by selecting certain image blocks for signal decoding, instead of searching all areas within the image frame, comprising the following:

act i) determining an image block centered at the graphical icon, and evaluating the image block centered at the graphical icon to determine whether it contains the encoded signal;

act ii) determining a center image block within the image frame, and evaluating the center image block to determine whether it contains the encoded signal;

act iii) adaptively selecting one or more image blocks based on features contained within the image frame, and evaluating the adaptively selected one or more image blocks to determine whether the block(s) contains the encoded signal; and

act iv) random or pseudo-randomly selecting an image block within the image frame, and evaluating the random or pseudo-randomly selected image block to determine whether it contains the encoded signal; and

determining whether each block contains the encoded signal.

5. The method of claim 4 in which said random or pseudo-randomly selecting an image block within the image frame comprises random or pseudo-randomly selecting one or more blocks within the image frame.

6. The method of claim 4 in which the method operates in order of act i), act ii), act iii), and then act iv), and in which said method operates all acts i-iv.

7. The method of claim 6 further comprising: when no encoded signal is found within the random or pseudo-randomly selected image block; act v) resizing the random or pseudo-randomly selected image block, and then evaluating the resized random or pseudo-randomly selected image block to determine whether it contains the encoded signal.

8. The method of claim 7 in which the method operates in order of act i), act ii), act iii), act iv), and then act v), and in which said method operates all acts i)-v).

9. The method of claim 4 further comprising zero padding the image block centered at the graphical icon so that only an inner block within the image block centered at the graphical icon represents image data from the image frame.

10. The method of claim 9 where the image block centered at the graphical icon comprises a 128×128 pixel block, and the inner block comprises a 64×64 pixel block.

11. A non-transitory computer readable medium comprising instructions stored thereon that, when executed by one or more multi-core processors, cause the one or more multi-core processors to perform the instructions comprising:

obtaining an image frame comprising a graphical icon and an encoded signal;

detecting the graphical icon from within the image frame;

guiding decoding of the encoded signal from within the image frame based on the detection of the graphical icon, by selecting certain image blocks for signal decoding, instead of searching all areas within the image frame, according to:

i) determining a center image block within the image frame, and evaluating the center image block to determine whether it contains an encoded signal;

when no encoded signal is found within the center image block, ii) determining an image block centered around the graphical icon, and evaluating the image block centered around the graphical icon to determine whether it contains the encoded signal;

when no encoded signal is found within the image block centered around the graphical icon, iii) selecting one or more image blocks based on features contained within the image frame, and evaluating the selected one or more image blocks to determine whether the block(s) contains the encoded signal; and

when no encoded signal is found within the selected one or more image blocks, iv) random or pseudo-randomly selecting an image block within the image frame, and evaluating the random or pseudo-randomly selected image block to determine whether it contains the encoded signal.

12. The non-transitory computer readable medium of claim 11 in which the random or pseudo-randomly selecting an image block within the image frame comprises random or pseudo-randomly selecting two or more blocks within the image frame.

13. The non-transitory computer readable medium of claim 11 in which the instructions are arranged to be executed by the one or more multi-core processors in order of i), ii), iii), and then iv).

14. A non-transitory computer readable medium comprising instructions stored thereon that, when executed by one or more multi-core processors, cause the one or more multi-core processors to perform the instructions comprising:

obtaining an image frame comprising a graphical icon and an encoded signal;

detecting the graphical icon from within the image frame;

guiding decoding of the encoded signal from within the image frame based on the detection of the graphical icon, by selecting certain image blocks for signal decoding, instead of searching all areas within the image frame, according to:

i) determining an image block centered at the graphical icon, and evaluating the image block centered at the graphical icon to determine whether it contains the encoded signal;

when no encoded signal is found within the image block centered at the graphical icon, ii) determining a center image block within the image frame, and evaluating the center image block to determine whether it contains the encoded signal;

when no encoded signal is found within the center image block, iii) adaptively selecting one or more image blocks based on features contained within the image frame, and evaluating the adaptively selected one or more image blocks to determine whether the block(s) contains the encoded signal; and

when no encoded signal is found within the adaptively selected one or more image blocks, iv) random or pseudo-randomly selecting an image block within the image frame, and evaluating the random or pseudo-randomly selected image block to determine whether it contains the encoded signal.

15. The non-transitory computer readable medium of claim 14 in which said random or pseudo-randomly selecting an image block within the image frame comprises random or pseudo-randomly selecting one or more blocks within the image frame.

16. The non-transitory computer readable medium of claim 14 in which the instructions are arranged to be executed in order of i), ii), iii), and then iv).

17. The non-transitory computer readable medium of claim 14 further comprising instructions for: when no encoded signal is found within the random or pseudo-randomly selected image block; v) resizing the random or pseudo-randomly selected image block, and then evaluating the resized random or pseudo-randomly selected image block to determine whether it contains the encoded signal.

18. The non-transitory computer readable medium of claim 17 in which the instructions are arranged to be executed in order of i), ii), iii), iv), and then v).

19. The non-transitory computer readable medium of claim 14 further comprising instructions for: zero padding the image block centered at the graphical icon so that only an inner block within the image block centered at the graphical icon represents image data from the image frame.

20. The non-transitory computer readable medium of claim 19 where the image block centered at the graphical icon comprises a 128×128 pixel block, and the inner block comprises a 64×64 pixel block.

Assignments (3)
ARTICLES OF CONVERSION Recorded Jun 19, 2026
From: DIGIMARC CORPORATION
To: DIGIMARC LLC
Reel/Frame 075863/0211 →
ARTICLES OF AMENDMENT OFTHE ARTICLES OF ORGANIZATION OF DIGIMARC LLC Recorded Jun 19, 2026
From: DIGIMARC LLC
To: DMRC LLC
Reel/Frame 075863/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2019
From: HOLUB, VOJTECH; FILLER, TOMAS
To: DIGIMARC CORPORATION
Reel/Frame 050820/0469 →
Continuity (3)
Continuation In Part 15967390 · Apr 30, 2018
Provisional Application 62541618 · Aug 4, 2017
Provisional Application 62492026 · Apr 28, 2017
Cited By (6)
US 12,247,849 US 12,309,858 US 12,406,246 US 12,602,828 US 12,711,729 US 12,731,469