The disclosure relates to systems, apparatus and methods for creating and operating interactive containers. More specifically, this disclosure relates to creating and operating interactive containers that relate to any assets that are projected, printed, displayed, etc.
It has become more common from assets of different origin or type to communicate and cause an activity based on such interaction. For example, it has become common for users to utilize their portable devices to control various products in their home and/or office made by different manufacturers. The selection of the assets and its interaction can be customizable and variable. Therefore, it is desirable to be able to simulate such interactions and to be able to customize it. In addition, some assets may be susceptible to tampering. Thus, it is beneficial to display an interactive image, printout, etc. of such assets. Therefore, there is a need for an improved system, apparatus and method for creating and operating interactive container(s).
Embodiments described herein relate to an interactive container creation method, apparatus and system. The method includes creating a list, deploying the list to at least one device, calibrating and identifying touch areas, identifying at least one of an asset and a shape to be defined as a touch area, identifying the x,y axis of each point for a predetermined number of points for each of the at least one of asset or shape, and creating a touch area based of the identified x,y axis.
Reference will now be made to the following drawings:
FIG.4 is a block diagram illustrating an embodiment of an interactive system relating to at least one interactive container;
In the descriptions that follow, like parts are marked throughout the specification and drawings with the same numerals, respectively. The drawing figures are not necessarily drawn to scale and certain figures may be shown in exaggerated or generalized form in the interest of clarity and conciseness.
It will be appreciated by those skilled in the art that aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Therefore, aspects of the present disclosure may be implemented entirely in hardware or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system” (including firmware, resident software, micro-code, etc.). Further, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium, any type of memory or a computer readable storage medium. For example, a computer readable storage medium may be, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include, but are not limited to: a portable computer diskette, a hard disk, a random access memory (“RAM”), a read-only memory (“ROM”), an erasable programmable read-only memory (“EPROM” or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (“CD-ROM”), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. Thus, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Computer program code for carrying out operations utilizing a processor for aspects of the present disclosure may be written in any combination of one or more programming languages, markup languages, style sheets and JavaScript libraries, including but not limited to Windows Presentation Foundation (WPF), HTML/CSS, XAML, and JQuery, C, Basic, *Ada, Python, C++, C#, Pascal, *Arduino. Additionally, operations can be carried out using any variety of compiler available.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, processor, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, processor, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
At step 106, the method 100 deploys at least one list to a device that is operating the interaction between the assets, menus, and/or containers. In one embodiment, the deployment may occur on several devices that may or may not be at the same location. The device(s) may be at the same location as the container being operated. In one embodiment, the axis location, i.e. x, y, x, location of the assets may be incorporated into the list at the list creation time or it may be determined on the device controlling the interaction, i.e., a device located at the same location as the container. The device controlling the interaction may learn the location of the assets, it may display the assets, or it may scan for characteristics to learn their location. In one embodiment, a list may already exist and only changes, omissions and/or additions are deployed, rather than the entire list. Furthermore, the deployment may be initiated/conducted manually or it may be automatic.
At step 108, the method 100 calibrates assets subjects in the container and/or identifies the touch areas. During the calibration process, the method 100 may perform projection mapping for every container to ensure that the display matches the physical space. In one embodiment, the method 100 uses image training during calibration to detect a known image, item, logo, etc.
In other embodiments, a person manually calibrates the system by shifting from point to point identifying the touch area and triggering a new touch area when the current touch area is done and another touch area exists and needs to be identified by the system. Whereas, during an automatic calibration, the system automatically identifies a predetermined number of points per touch area relating to assets and/or shapes. In another embodiment, a calibration stream is cropped to where only areas of interest are calibrated. Only calibrating areas of interest results in a more accurate and more efficient calibration. The calibration process is better described in
For example, a projector displays a pre-determined shape over a touch area not identified yet. Using a camera, the method identifies the x, y axis for each point in a pre-determined number of points relating to the asset or displayed shape. Once the axis is identified, the method 200 proceeds to the next asset or shape in the container. The method 200 may perform such function on a single container or multiple containers. The method 200 may utilize asset identification, display recognition, shape recognition, light, exposure, contrast, RGB difference, infrared, etc. to determine the areas that need to be identified as touch areas. When all touch areas are identified, the camera and/or method are capable of identifying the touch areas and identify the corresponding rule, menu, activity etc. relating to the touch area.
A single interactive apparatus 300 may include any number of containers that may or may not communicate and/or interact. As such, in one embodiment, interacting with one container may cause a change in another container. Containers create an interactive experience using the menus/attributes and WISP/rules relating to assets. The menu/attributes are options at an instance, which may be a default instance or options that come about due to an interaction or touch on or around a menu item or attribute presented. A container may contain any number of menus/attributes 306, which may interact or stand alone. Attributes may be audio, video, image, change in display, etc. WISP/rules are the interactive active mask over a touch area that triggers a menu or attribute due to a pre-determined activity. Assets may be pre-determined object or person, printouts of objects, displayed items, images, video, an identified object or person, and the like.
In one embodiment, a weighted average may be used. In such an embodiment, a new object/asset is added to a container. The weighted average method adds the object/asset incrementally over time where the accounting of the new item increases in percentile in relation to the whole picture over time. Such a method insures that the item is truly added, allows of real-time reaction to change in a container, and allows for a realistic change over time.
Even though all these items are shown to be in the same system 400, yet, they may be distributed in multiple systems that may or may not be in the same location. In one embodiment, a cloud may communicate with the systems 400 to deploy items from remote locations, such as, the deployed data 404A.
The touch detector 408 detects touch and its related information, which includes identifying coordinate related to a touch area. In one embodiment, the touch detector 408 may distinguish between a hover and a touch, where the distinction relates to the z axis of the touch. If the hand or object is closer to the object or further from a camera or system then it is a touch. If the hand or object is further from the object or closer to a camera or system then it is hover. In one embodiment, the touch detector may identify different types of touch based on thresholds, such as time, proximity, color of the object doing the touch, based on a sequence of touches, etc. The touch detection 408 may refine the recognition of a touch by performing the method of
The touch listener 410 reads the coordinates determined by the touch detector and determines if the touch occurred in a touch area identified during calibration. The touch listener 410 determines the type of reaction or no reaction to take place based on the deployed data, the location of the touch and sometime the type of touch. In some cases, the touch listener 410 may facilitate a zoom in/out or a drag based on the determination of the type of touch. Touch listener may determine that there are no persons and/or no touch for a predetermined time or sense a person walk away and initiate a default display or a predetermined activity.
The analytics module 412 is designed to collect data and/or measure characteristics related to a predetermined object, person, movement, lack of movement, etc. for example, the analytics module 412 may identify a person, follow a path of a person, follow selections of a person, duration of a touch, lack of touch, list a person's activity, determine gender, personal characteristics, traffic, dwell time, etc.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept. It is understood, therefore, that this disclosure is not limited to the particular embodiments herein, but it is intended to cover modifications within the spirit and scope of the present disclosure as defined by the appended claims.
This application is a continuation-in-part of U.S. application Ser. No. 15/258, 973, filed on Sep. 7, 2016, which is a continuation of U.S. application Ser. No. 14/535,823 filed Nov. 7, 2014, which is a continuation-in-part of U.S. application Ser. No. 13/890,709 filed May 9, 2013. This application is a continuation-in-part of U.S. application Ser. No. 14/985,044 and PCT/US Application No. 2015/068192 both filed on Dec. 30, 2015, and it relates to U.S. Provisional Applications 62/311,354 filed on Mar. 21, 2016 and 62/373,272 filed on Aug. 10, 2016. The above identified patent applications are incorporated herein by reference in their entirety to provide continuity of disclosure.
Number | Date | Country | |
---|---|---|---|
62311354 | Mar 2016 | US | |
62373272 | Aug 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15258973 | Sep 2016 | US |
Child | 15394799 | US | |
Parent | 14535823 | Nov 2014 | US |
Child | 15258973 | US | |
Parent | 13890709 | May 2013 | US |
Child | 14535823 | US | |
Parent | 14985044 | Dec 2015 | US |
Child | 13890709 | US | |
Parent | PCT/US2015/068192 | Dec 2015 | US |
Child | 14985044 | US |