1. A system for projecting images onto predefined portions of objects in a projection area, comprising:
a computing device storing:
geometry data defining a digital model of an object; the geometry data including identifiers of parts of the digital model; and
image data defining an image and including a reference to the digital model;
the reference consisting of at least one of the identifiers in a pixel array field;
a light source connected to the computing device and configured to project structured light onto the projection area;
a camera connected to the computing device and configured to capture an image of the projection area during the projection of structured light;
the computing device configured to receive the captured image from the camera and to determine a position and orientation of the object in the projection area by comparing the geometry data to the captured image;
the computing device further configured to generate a canvas image including a version of the image transformed to match the determined position and orientation of the object;
the computing device further configured to transmit the canvas image to a projector, for projection onto the projection area, whereby the image is projected onto a portion of the object corresponding to the reference in the image data.
2. The system of claim 1, the computing device configured to determine a position of the object by detecting signatures in the captured image corresponding to the digital model, and comparing the signatures to the geometry data.
3. The system of claim 2, the computing device configured to apply transformations to the digital model such that the transformed digital model matches the signatures;
the computing device further configured to generate the version of the image by applying at least one of the transformations to the image.
4. The system of claim 2, wherein the light source is a component of the projector.
5. The system of claim 1, wherein the projection area contains at least one of a plurality of objects; and wherein the geometry data defines a plurality of digital models corresponding to the plurality of objects;
the computing device configured to detect signatures corresponding to at least one of the plurality of digital models in the captured image.
6. The system of claim 5, wherein the image data defines a plurality of images, at least one of the images including a reference to at least one of the plurality of digital models.
7. The system of claim 1, wherein the image data includes the identifiers in a mapping metadata field.
8. A computing device for use in a system for projecting images onto predefined portions of objects in a projection area, the computing device comprising:
a memory storing:
geometry data defining a digital model of an object; the geometry data including identifiers of parts of the digital model; and
image data defining an image and including a reference to the digital model;
the reference consisting of at least one of the identifiers in a pixel array field;
a data interface configured to communicate with a light source, a projector and a camera; and
a processor interconnected with the memory and the data interface, the processor configured to:
control the light source to project structured light onto the projection area;
control the camera to capture an image of the projection area during the projection of structured light;
receive the captured image from the camera, and determine a position and orientation of the object in the projection area by comparing the geometry data to the captured image;
generate a canvas image including a version of the image transformed to match the determined position and orientation of the object; and
transmit the canvas image to a projector, for projection onto the projection area, whereby the image is projected onto a portion of the object corresponding to the reference in the image data.
9. The computing device of claim 8, the processor configured to determine a position of the object by detecting signatures in the captured image corresponding to the digital model, and comparing the signatures to the geometry data.
10. The computing device of claim 9, the processor configured to apply transformations to the digital model such that the transformed digital model matches the signatures;
the processor further configured to generate the version of the image by applying at least one of the transformations to the image.
11. The computing device of claim 9, wherein the light source is a component of the projector.
12. The computing device of claim 8, wherein the projection area contains at least one of a plurality of objects; and wherein the geometry data defines a plurality of digital models corresponding to the plurality of objects;
the processor configured to detect signatures corresponding to at least one of the plurality of digital models in the captured image.
13. The computing device of claim 12, wherein the image data defines a plurality of images, at least one of the images including a reference to at least one of the plurality of digital models.
14. The computing device system of claim 8, wherein the image data includes the identifiers in a mapping metadata field.
15. A method of projecting images onto predefined portions of objects in a projection area, comprising:
storing, in a memory of a computing device:
geometry data defining a digital model of an object; the geometry data including identifiers of parts of the digital model; and
image data defining an image and including a reference to the digital model;
the reference consisting of at least one of the identifiers in a pixel array field;
controlling a light source connected to the computing device to project structured light onto the projection area;
controlling a camera connected to the computing device to capture an image of the projection area during the projection of structured light;
receiving the captured image at the computing device from the camera and determining a position and orientation of the object in the projection area by comparing the geometry data to the captured image;
generating a canvas image at the computing device, including a version of the image transformed to match the determined position and orientation of the object;
transmitting the canvas image to a projector connected to the computing device, for projection onto the projection area, whereby the image is projected onto a portion of the object corresponding to the reference in the image data.
16. A non-transitory computer readable medium storing a plurality of computer readable instructions executable by a processor of a computing device, for causing the processor to perform a method of projecting images onto predefined portions of objects in a projection area, the method comprising:
storing, in a memory of a computing device:
geometry data defining a digital model of an object; the geometry data including identifiers of parts of the digital model; and
image data defining an image and including a reference to the digital model;
the reference consisting of at least one of the identifiers in a pixel array field;
controlling a light source connected to the computing device to project structured light onto the projection area;
controlling a camera connected to the computing device to capture an image of the projection area during the projection of structured light;
receiving the captured image at the computing device from the camera and determining a position and orientation of the object in the projection area by comparing the geometry data to the captured image;
generating a canvas image at the computing device, including a version of the image transformed to match the determined position and orientation of the object;
transmitting the canvas image to a projector connected to the computing device, for projection onto the projection area, whereby the image is projected onto a portion of the object corresponding to the reference in the image data.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A content-addressable-memory device comprising:
a tag storing unit that stores, in a plurality of entries, a plurality of tags corresponding to a plurality of addresses, a parity bit of each of the tags, and a reverse bit obtained by reversing the parity bit;
a data storing unit that stores a plurality of data corresponding to the tags in a plurality of corresponding entries;
a comparing unit that compares an address for search with a tag of each of the entries; and
a determining unit that performs an OR-operation on contents stored in a plurality of relevant entries when a multiple hit occurs from a comparison by the comparing unit, and determines a cause of the multiple hit based on a parity bit and a reverse bit obtained after the OR-operation.
2. The content-addressable-memory device according to claim 1, further comprising:
a masking unit that masks a portion of the tag, and excludes the masked portion from a target for the comparison by the comparing unit; and
a masked-portion changing unit that changes the masked portion to all \u201c0\u201d or all \u201c1\u201d.
3. The content-addressable-memory device according to claim 2, wherein
the data stored in the data storing unit includes mask control data, and
the masking unit masks the tag based on the mask control data, and checks an error in the mask control data.
4. A method of controlling a content-addressable-memory, the method comprising:
first storing including
storing, in a plurality of entries, a plurality of tags corresponding to a plurality of addresses, a parity bit of each of the tags, and a reverse bit obtained by reversing the parity bit;
second storing including
storing a plurality of data corresponding to the tags in a plurality of corresponding entries;
comparing an address for search with a tag of each of the entries;
performing an OR-operation on contents stored in a plurality of relevant entries when a multiple hit occurs from a comparison at the comparing; and
determining a cause of the multiple hit based on a parity bit and a reverse bit obtained after the OR-operation.
5. The method according to claim 4, further comprising:
masking a portion of the tag, and excludes the masked portion from a target for the comparison at the comparing; and
changing the masked portion to all \u201c0\u201d or all \u201c1\u201d.
6. The method according to claim 5, wherein
the data stored at the second storing includes mask control data, and
the masking includes
masking the tag based on the mask control data; and
checking an error in the mask control data.