Invented by Tony F. Rodriguez, Digimarc Corp
The Digimarc Corp invention works as followsThe technologies disclosed involve portable devices such as smartphones and tablets. In one arrangement, a content creator can select the software that will be used to render their content. This ensures continuity between artistic intent and delivery. One arrangement uses the smartphone camera to identify nearby objects and then take action based on that information. Other technologies rely on the identification of objects using near-field chips (RFID), or audio streams (e.g. music, voice). Some technologies are aimed at improving the user interfaces of such devices. Other applications include text entry, sign-language interpretation, shopping, and vision based discovery. Other improvements are of an architectural nature. For example, they relate to blackboard systems and evidence-based state machine. Other technologies involve the use of linked data on portable devices, some of which take advantage of GPU capabilities. Other technologies are concerned with computational photography. “A wide variety of other features, arrangements and functions are also described.
Background for Smartphone-based methods, systems
The present technology expands in certain respects upon technology detailed in the above-detailed patent application. These previous works can be used to implement the present technology and can be incorporated into the current technology.
Referring to FIG. 1. An illustrative device 14 includes a processor 16, memory 18, one or several input peripherals 20 and one or two output peripherals 22. System 12 can also contain a network connection 24 and remote computers 26.
An illustrative device 14 can be a smartphone or tablet computer. However, any other electronic device that is consumer-grade can be used. The processor may include a microprocessor, such as an Atom device or A4 device. The operating system software and application software stored in the memory control part of the processor’s operation. ), data, etc. A hard drive or flash memory could be used as memory.
Input peripherals 20 could include a camera or a microphone. An interface system that converts analog signals from the camera/microphone into digital data is also possible. You can also use a touch screen or keyboard as an input peripheral. Output peripherals 22 include a speaker, display screen, and so on.
The 24th network connection can be wired (e.g. Ethernet, etc. ), wireless (WiFi, 4G, Bluetooth, etc. Or both.
In an exemplary operation device 14 receives a set digital content data through a microphone 20. The interface can be connected through the network connection 24 or any other means. You can use any content data; audio is an example.
The system 12 processes digital content data to create corresponding identification data. This can be done by using a digital watermark process or a fingerprinting algorithm. data (e.g., file names, header data, etc.). This data is used to identify the content data received from other data (e.g. other audio or video).
By referencing this identification data the system determines which software should be invoked. Indexing a table, database or other data structure with this identification data is one way to accomplish this. This will allow you to identify the correct software. FIG. 2 shows an illustration of a table. 2.
In certain cases, the data structure might identify a single program. If this is the case, the software will be launched. The software does not need to be installed on the device. Apps that are cloud-based may be available. If the software is not available, it can be downloaded from an online repository such as the iTunes Store, installed, and launched. The device can also subscribe to the software-as-service version of the app. Depending on the implementation, the user may be asked permission to participate in certain actions. In other cases, such actions are carried out without disturbing the user.
Sometimes, the data structure can identify multiple software programs. Different programs might be specific to certain platforms. In this case, device 12 could simply choose the program that corresponds to that platform (e.g. Android G2, iPhone 4, etc.). The data structure might identify other programs that are compatible with a particular platform. The device might check this situation to see if there are any already installed. It can launch the program if it is found. The device can choose between two programs if it finds them. The device might prompt the user to choose one or both. The device can choose to download an alternative program if none are available. This is done using an algorithm or user input. The application is launched once it has been downloaded and installed.
(Sometimes, the data structure might identify different programs that serve various functions?all of which are related to the content. One app could be used to find lyrics. An app that relates to the biography of a musician could be another. An app that allows you to purchase the content could be another option. Each type of software can include multiple alternatives.
Note: The device may have an already installed application that is technically suitable to work with the received content (e.g. to render an MPEG4 file or an MP3 file). There may be many or more programs that are technically compatible with certain operations. The content might indicate that only a small subset of the possible software programs should be used.
Software in the device 14 could enforce content-identified software selection. The system could also treat software identification as a preference that can be overridden by the user. In some cases, the user might be given an incentive to use content-identified software. Alternately, the user might be charged a fee or other impediment to use any software not identified by the content.
Sometimes, the system might not render certain content on a particular device (e.g. because there is no suitable app or hardware capability), but it may invite the user transfer the content to another device that has the required capability and may implement such transfer. Ansel Adams may have been sceptical of large format photographs being used as screen savers on a low resolution smartphone display. The software might suggest that the user instead of trying to display the images on a small format, low resolution smartphone display, it will ask the user to transfer the images to a larger format HD display at home.
The system might render the content in a limited manner, instead of rendering it completely. A video could be rendered in a series or still frames, such as from scene transitions. The system can also transfer the content to a place where it can be enjoyed more effectively. If hardware considerations allow (e.g. screen resolution is sufficient),?the software can be downloaded and installed.
As illustrated by the table in FIG. “As shown in FIG. 2 (which data structure might be located in the memory 18 or in a remote computing system 26, the indication of software could be based upon one or more contextual elements?in addition to content identification data.
Context” is a formal definition. “Context” is any information that can be used as a way to describe an entity’s situation (a person, place, or object that is relevant to the interaction between an application and a user), including applications themselves.
Context information can include computing context (network connectivity and memory availability, processor type and contention, as well as computing context (“context information”)). ), user context (user name, location, actions and preferences; also, friends and social networks. ), physical context (e.g., lighting, noise level, traffic, etc. ), temporal context (time, date, month, season). History of the above, etc.
In the illustrated tableau, rows 32-34 correspond to the same content (i.e. the same content ID), but they indicate that different software should be used. Depending on whether the context is indoors and outdoors. The software is identified with a five symbol hex identifier, while the content is identified using six hex symbols. Other identifiers, with a longer or shorter length, may be used.
Row 36 shows two software items?both of these are invoked. One includes a second descriptor?an identifier for a YouTube video that will be loaded by software FF245. This software is intended for users in a daytime context and those aged between 20-25.
Row 38 displays the user’s location (zip code) as well as their gender, which is contextual data. The alternative specifies the software used to create this content/context (i.e. four identifiers??OR?d together as opposed with the?AND).Click here to view the patent on Google Patents.