1. A semiconductor memory device comprising:
a plurality of memory cells, each of which includes latch means for storing bit data which composes a word of a plurality of words;
test target word selecting means for determining a memory cell as a test target memory cell which stores bit data of a test target word by selecting an arbitrary word of said plurality of words as said test target word;
initializing means for initializing said plurality of memory cells by storing identical data to all of said plurality of memory cells in response to a simultaneous writing signal supplied;
negative feedback means for storing inverted bit data into said test target memory cell, the inverted bit data being formed by inverting bit data outputted from said test target memory cell;
reading means for reading all of said plurality of words; and
comparator means for comparing expectation values and all of said read words, wherein
said test target word selecting means includes a test target word changing means for changing said test target word to another word;
wherein after said storing said inverted bit data, only said test target memory cell contains said inverted bit data and all of said plurality of memory cells other than said test target memory cell contain said identical data; and
wherein said initializing said plurality of memory cells, said storing inverted bit data, said reading all of said plurality of words and said comparing said expectation values and said read words are repeated with each of said changing of said test target word to said another word,
wherein said negative feedback means comprise data retaining means for retaining input bit data which is either bit data via a scan path or said inverted bit data, and for outputting said inputted bit data to said test target memory cell and said scan path, and
further comprising input data selection means for selectively writing a plurality of pieces of input data supplied thereto to said memory cells.
2. The semiconductor memory device as claimed in claim 1, wherein said negative feedback means comprise a plurality of said data retaining means, the number of said data retaining means being the same as the number of bits of one word.
3. A method of testing a semiconductor memory device, said semiconductor memory device including a plurality of memory cells, each of said memory cells storing bit data which composes a word of a plurality of words, said method comprising steps of:
determining a memory cell as a test target memory cell which stores bit data of a test target word by selecting an arbitrary word of said plurality of words as said test target word;
initializing said plurality of memory cells by storing identical data to all of said plurality of memory cells;
storing inverted bit data into said test target memory cell, the inverted bit data being formed by inverting bit data outputted from said test target memory cell;
reading all of said plurality of words;
comparing expectation values and all of said read words; and
changing said test target word to another word, wherein
after said storing said inverted bit data, only said test target memory cell contains said inverted bit data and all of said plurality of memory cells other than said test target memory cell contain said identical data; and
said initializing step, storing inverted bit data step, reading all of said plurality of words step and said comparing step are repeated every time said test target word is changed to said another word, and further comprising input data selection means for selectively writing a plurality of pieces of input data supplied thereto to said memory cells.
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 method of rendering images in an augmented reality system comprising first and second body mounted devices each comprising a body mounted camera and a head mounted display, the method comprising:
capturing a first scene image of a scene with the body mounted camera of the first body mounted device;
displaying on the head mounted display of the first body mounted device a first image of a virtual object, the first image displaying the virtual object as being anchored to a first anchor surface within the captured first scene image in a first orientation that is appropriate for a wearer of the first body mounted device; and
displaying on the head mounted display of the second body mounted device a second image of the virtual object, the second image displaying the virtual object as being anchored to a second anchor surface in a second orientation that is appropriate for a wearer of the second body mounted device.
2. The method of claim 1, further comprising:
sending the virtual object from the first body mounted device to the second body mounted device;
receiving the virtual object in the second body mounted device;
capturing a second scene image of the scene with the body mounted camera of the second body mounted device; and
analyzing the captured second scene image to identify a suitable anchor surface within the second scene image that is in a direction close to a direction that the wearer of the second body mounted device is looking,
wherein displaying on the head mounted display of the second body mounted device a second image comprises displaying the second image such that the virtual object is anchored to the identified suitable anchor surface.
3. The method of claim 1, further comprising:
transmitting a signal from the first body mounted device to the second body mounted device indicating an orientation of the virtual object,
wherein displaying the second image comprises displaying the second image such that virtual object is oriented based in part on the signal received from the first body mounted device.
4. The method of claim 1, further comprising:
transmitting a signal from the first body mounted device to the second body mounted device indicating a preferred orientation of the virtual object;
informing the wearer of the second body mounted device of the indicated preferred orientation; and
receiving input from the wearer of the second body mounted device accepting or rejecting the indicated preferred orientation,
wherein displaying on the head mounted display of the second body mounted device a second image of the virtual object comprises displaying the second image such that the virtual object is oriented based in part on the indicated preferred orientation when the received input accepts the indicated preferred orientation and such that the virtual object is oriented in a manner different from the indicated preferred orientation when the received input rejects the indicated preferred orientation.
5. The method of claim 1, wherein the first anchor surface and the second anchor surface are the same surface.
6. The method of claim 1, further comprising:
transmitting the virtual object from the first body mounted device to the second body mounted device,
wherein displaying on the head mounted display of the second body mounted device a second image of the virtual object comprises displaying the second image as being anchored to the first anchor surface in the second orientation.
7. The method of claim 1, wherein the first and second body mounted devices are located in different locations, the method further comprising transmitting the virtual object to each the first and second body mounted devices via a network.
8. The method of claim 1, further comprising:
capturing a second scene image with the body mounted camera of the second body mounted device; and
receiving input on the second body mounted device indicating the second anchor surface in the captured second scene image, the indicated second anchor surface being different from the first anchor surface,
wherein displaying on the head mounted display of the second body mounted device a second image comprises displaying the virtual object as being anchored to the indicated second anchor surface in a configuration appropriate for the indicated second anchor surface and the wearer of the second body mounted device.
9. The method of claim 8, further comprising:
transmitting a second virtual object from the second body mounted device to the first body mounted device; and
displaying a third image on the head mounted display of the first body mounted device, the third image displaying the second virtual object as being anchored to the first anchor surface.
10. A system, comprising:
a first body mounted device comprising a first body mounted camera, a first head mounted display, a first transceiver, and a first body mounted device processor coupled to the first camera, first display and first transceiver; and
a second body mounted device comprising a second body mounted camera, a second head mounted display, a second transceiver, and a second body mounted device processor coupled to the second camera, second display and second transceiver;
wherein the first body mounted device processor is configured with processor-executable instructions to perform operations comprising:
capturing a first scene image of a scene with the first camera; and
displaying a first image of a virtual object on the first display, the first image displaying the virtual object as being anchored to a first anchor surface within the captured first scene image in a first orientation that is appropriate for a wearer of the first body mounted device, and
wherein the second body mounted device processor is configured with processor-executable instructions to perform operations comprising:
displaying on the second display a second image of the virtual object, the second image displaying the virtual object as being anchored to a second anchor surface in a second orientation that is appropriate for a wearer of the second body mounted device.
11. The system of claim 10, wherein:
the second body mounted device processor is configured with processor-executable instructions to perform operations further comprising:
receiving the virtual object from the first body mounted device;
capturing a second scene image with the second camera; and
analyzing the captured second scene image to identify a suitable anchor surface within the second scene image that is in a direction close to a direction that the wearer of the second body mounted device is looking, and
the second body mounted device processor is configured with processor-executable instructions to perform operations such that displaying the second image of the virtual object comprises displaying the virtual object as being anchored to the identified suitable anchor surface.
12. The system of claim 10, wherein:
the first body mounted device processor is configured with processor-executable instructions to perform operations further comprising transmitting a signal to the second body mounted device indicating an orientation of the virtual object; and
the second body mounted device processor is configured with processor-executable instructions to perform operations such that displaying the second image comprises displaying virtual object in an orientation determined based in part on the indicated orientation of the virtual object in the signal transmitted by the first body mounted device.
13. The system of claim 10, wherein:
the first body mounted device processor is configured with processor-executable instructions to perform operations further comprising transmitting a signal to the second body mounted device indicating a preferred orientation of the virtual object, and
the second body mounted device processor is configured with processor-executable instructions to perform operations comprising:
informing the wearer of the second body mounted device of the indicated preferred orientation; and
receiving input from the wearer of the second body mounted device accepting or rejecting the indicated preferred orientation,
wherein the second body mounted device processor is further configured with processor-executable instructions to perform operations such that:
displaying on second display a second image of the virtual object comprises displaying the second image such that the virtual object is oriented based in part on the indicated preferred orientation when the received input accepts the indicated preferred orientation and such that the virtual object is oriented in a manner different from the indicated preferred orientation when the received input rejects the indicated preferred orientation.
14. The system of claim 10, wherein the second body mounted device processor is configured with processor-executable instructions to perform operations such that displaying the virtual object as being anchored to a second anchor surface comprises displaying the virtual object as being anchored to a surface that is substantially the same as the first anchor surface.
15. The system of claim 10, wherein:
the first body mounted device processor is configured with processor-executable instructions to perform operations comprising transmitting the virtual object to the second body mounted device, and
the second body mounted device processor is configured with processor-executable instructions to perform operations such that displaying the second image of the virtual object comprises displaying the second image as being anchored to the first anchor surface in the second orientation.
16. The system of claim 10, further comprising:
a server comprising:
a memory; and
a server processor coupled to the memory, wherein the server processor is configured with server-executable instructions to perform operations comprising:
transmitting the virtual object to each of the first and second body mounted devices via a network.
17. The system of claim 10, wherein the second body mounted device processor is configured with processor-executable instructions to perform operations further comprising:
capturing a second scene image with the second camera; and
receiving input indicating a second anchor surface located in the captured second scene image, the indicated second anchor surface being a different surface that the first anchor surface, and
wherein the second body mounted device processor is configured with processor-executable instructions to perform operations such that displaying a second image comprises displaying the virtual object as being anchored to the indicated second anchor surface in a configuration appropriate for the indicated second anchor surface and the wearer of the second body mounted device.
18. The system of claim 17, wherein:
the second body mounted device processor is configured with processor-executable instructions to perform operations further comprising transmitting a second virtual object from the second body mounted device to the first body mounted device; and
the first body mounted device processor is configured with processor-executable instructions to perform operations further comprising displaying a third image on the head mounted display of the first body mounted device, the third image displaying the second virtual object as being anchored to the first anchor surface.
19. A body mounted computing device, comprising:
a memory;
a body mounted camera;
a head mounted display;
a transceiver; and
a processor coupled to the memory, camera, display and transceiver, wherein the processor is configured with processor-executable instructions to perform operations comprising:
capturing a scene image of a scene with the camera;
displaying a first image of a virtual object on the display, the first image displaying the virtual object as being anchored to a first anchor surface within the captured scene image in a first orientation that is appropriate for a wearer of the body mounted computing device; and
transmitting a signal to a second body mounted computing device to cause the second body mounted computing device to display a second image of the virtual object on a second head mounted display, the second image displaying the virtual object as being anchored to a second anchor surface in a second orientation that is appropriate for a wearer of the second body mounted device.
20. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
analyzing the captured scene image to identify a suitable anchor surface within the scene image that is in a direction close to a direction that the wearer of the body mounted device is looking, and
wherein the processor is configured with processor-executable instructions to perform operations such that displaying a first image of a virtual object on the display comprises displaying the virtual object as being anchored to the identified suitable anchor surface.
21. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations such that transmitting a signal to a second body mounted computing device comprises transmitting a signal to the second body mounted device indicating an orientation of the virtual object such that causing the second body mounted computing device to display the second image comprises causing the second body mounted computing device to display the virtual object in an orientation determined based in part on the indicated orientation of the virtual object in the signal transmitted by the first body mounted device.
22. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations such that transmitting a signal to a second body mounted computing device comprises:
transmitting a signal to the second body mounted device indicating a preferred orientation of the virtual object, the signal including information for causing the second computing device to inform the wearer of the second body mounted device of the indicated preferred orientation in a manner that enables the wearer of the second body mounted device to accept or reject indicated preferred orientation to cause the second image to be displayed on the second head mounted display such that the virtual object is oriented based on the indicated preferred orientation when the preferred orientation is accepted and the virtual object is oriented in a manner different from the indicated preferred orientation when the preferred orientation is rejected.
23. The body mounted computing device of claim 22, wherein the processor is configured with processor-executable instructions to perform operations such that transmitting a signal to a second body mounted computing device comprises transmitting a signal that causes the second computing device to display the virtual object as being anchored to a surface that is substantially the same as the first anchor surface.
24. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations such that transmitting a signal to a second body mounted computing device comprises transmitting the virtual object to the second body mounted device such that displaying the second image comprises displaying the virtual object as being anchored to the first anchor surface in the second orientation.
25. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
receiving the virtual object from a network.
26. The body mounted computing device of claim 19, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
transmitting the virtual object to the second body mounted computing device.
27. A computing device, comprising:
means for capturing a scene image of a scene with a camera;
means for displaying a first image of a virtual object on a display, the first image displaying the virtual object as being anchored to a first anchor surface within the captured scene image in a first orientation that is appropriate for a wearer of the body mounted computing device; and
means for transmitting a signal to a second body mounted computing device that causes the second body mounted computing device to display a second image of the virtual object on a second head mounted display, the second image displaying the virtual object as being anchored to a second anchor surface in a second orientation that is appropriate for a wearer of the second body mounted device.
28. The computing device of claim 27, further comprising means for analyzing the captured scene image to identify a suitable anchor surface within the scene image that is in a direction close to a direction that the wearer of the body mounted device is looking, and wherein means for displaying a first image of a virtual object on the display comprises means for displaying the virtual object as being anchored to the identified suitable anchor surface.
29. The computing device of claim 27, wherein means for transmitting a signal to a second body mounted computing device comprises means for transmitting a signal to the second body mounted device indicating an orientation of the virtual object such that causing the second body mounted computing device to display the second image comprises causing the second body mounted computing device to display the virtual object in an orientation determined based in part on the indicated orientation of the virtual object in the signal transmitted by the first body mounted device.
30. The computing device of claim 27, wherein means for transmitting a signal to a second body mounted computing device comprises means for transmitting a signal to the second body mounted device indicating a preferred orientation of the virtual object.
31. The computing device of claim 30, wherein means for transmitting a signal to a second body mounted computing device comprises means for transmitting a signal that causes the second computing device to display the virtual object as being anchored to a surface that is substantially the same as the first anchor surface.
32. The computing device of claim 27, wherein means for transmitting a signal to a second body mounted computing device comprises means for transmitting the virtual object to the second body mounted device such that displaying the second image comprises displaying the virtual object as being anchored to the first anchor surface in the second orientation.
33. The computing device of claim 27, further comprising means for receiving the virtual object from a network.
34. The computing device of claim 27, further comprising means for transmitting the virtual object to the second body mounted computing device.
35. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a processor to perform operations comprising:
capturing a scene image of a scene;
displaying a first image of a virtual object on an electronic display, the first image displaying the virtual object as being anchored to a first anchor surface within the captured scene image in a first orientation that is appropriate for a wearer of the body mounted computing device; and
transmitting a signal to a second body mounted computing device to cause the second body mounted computing device to display a second image of the virtual object on a second head mounted display, the second image displaying the virtual object as being anchored to a second anchor surface in a second orientation that is appropriate for a wearer of the second body mounted device.
36. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations further comprising:
analyzing the captured scene image to identify a suitable anchor surface within the scene image that is in a direction close to a direction that the wearer of the body mounted device is looking, and wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that displaying a first image of a virtual object on the display comprises displaying the virtual object as being anchored to the identified suitable anchor surface.
37. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that transmitting a signal to a second body mounted computing device comprises transmitting a signal to the second body mounted device indicating an orientation of the virtual object such that causing the second body mounted computing device to display the second image comprises causing the second body mounted computing device to display the virtual object in an orientation determined based in part on the indicated orientation of the virtual object in the signal transmitted by the first body mounted device.
38. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations comprising:
transmitting a signal to the second body mounted device indicating a preferred orientation of the virtual object, the signal including information for causing the second computing device to inform the wearer of the second body mounted device of the indicated preferred orientation in a manner that enables the wearer of the second body mounted device to accept or reject indicated preferred orientation to cause the second image to be displayed on the second head mounted display such that the virtual object is oriented based on the indicated preferred orientation when the preferred orientation is accepted and the virtual object is oriented in a manner different from the indicated preferred orientation when the preferred orientation is rejected.
39. The non-transitory computer readable storage medium of claim 38, wherein wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that transmitting a signal to a second body mounted computing device comprises transmitting a signal that causes the second computing device to display the virtual object as being anchored to a surface that is substantially the same as the first anchor surface.
40. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations such that that transmitting a signal to a second body mounted computing device comprises transmitting the virtual object to the second body mounted device such that displaying the second image comprises displaying the virtual object as being anchored to the first anchor surface in the second orientation.
41. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations comprising :
receiving the virtual object from a network.
42. The non-transitory computer readable storage medium of claim 35, wherein the stored processor-executable software instructions are configured to cause a processor to perform operations comprising :
transmitting the virtual object to the second body mounted computing device.