SMARTPHONE-BASED METHODS AND SYSTEMS
Methods and arrangements involving portable devices, such as smartphones and tablet computers, are disclosed. One arrangement enables a creator of content to select software with which that creator's content should be rendered—assuring continuity between artistic intention and delivery. Another arrangement utilizes the camera of a smartphone to identify nearby subjects, and take actions based thereon. Others rely on near field chip (RFID) identification of objects, or on identification of audio streams (e.g., music, voice). Some of the detailed technologies concern improvements to the user interfaces associated with such devices. Others involve use of these devices in connection with shopping, text entry, sign language interpretation, and vision-based discovery. Still other improvements are architectural in nature, e.g., relating to evidence-based state machines, and blackboard systems. Yet other technologies concern use of linked data in portable devices—some of which exploit GPU capabilities. Still other technologies concern computational photography. A great variety of other features and arrangements are also detailed.
1 . A system including a processor configured by instructions in a memory, the instructions including operating system software, the operating system software providing a content identification service that receives input content data corresponding to imagery captured by a camera, or a pointer to stored content data corresponding to imagery captured by a camera, and returns publishes metadata corresponding thereto to a content identification message queue of said operating system software, wherein the published metadata comprises, or is obtained through use of, fingerprint data or decoded watermark data identifying the content data, said memory further including software instructions for first and second application programs, said instructions causing the first application program to hook said content identification message queue to monitor said queue for metadata indicating a content of a first type, said instructions causing the second application program to hook said content identification message queue to monitor said queue for metadata indicating content of a second type different than the first type, said instructions causing said first or second application to automatically launch into further activity, without user selection, when metadata indicating that the input content data or the pointer to the stored content data is content of the first or second type, respectively, is published to said queue.
2 . The system of claim 1 in which the published metadata comprises, or is obtained through use of, fingerprint data.
3 . The system of claim 2 in which the service also receives parameter input data specifying which of plural fingerprint processes to apply.
4 . The system of claim 1 in which the published metadata comprises, or is obtained through use of, decoded watermark data.
5 . The system of claim 4 in which the service also receives parameter input data specifying which of plural watermark decoding processes should be applied by the content identification service of said operating system software.
6 . The system of claim 1 in which said service cooperates with a remote metadata registry to obtain information relating to the content data.
7 . The system of claim 1 in which said imagery captured by a camera includes video imagery.
8 . A method comprising the acts:
processing input content data corresponding to imagery captured by a camera, or a pointer to stored content data corresponding to imagery captured by a camera, and publishing resultant metadata corresponding thereto to a message queue of an operating system, said processing being performed by a hardware processor configured to perform such act, wherein the published metadata comprises, or is obtained through use of, fingerprint data or decoded watermark data identifying the content data;
hooking said message queue by a first application program to monitor the input content data for content of a first type;
hooking said message queue by a second application program to monitor the input content data for content of a second type; and
automatically launching further activity by said first or second application programs, without user selection, when metadata indicating said first or second type of content is respectively published to said message queue.
9 . The method of claim 8 in which said imagery captured by a camera includes video imagery.
10 . The method of claim 8 in which said imagery captured by a camera includes still imagery.
11 . A method comprising:
receiving content data representing content captured by the at least one sensor associated with a user device;
deriving identification data from the received content data; and
selecting software to invoke on the user device by reference to the derived identification data.
12 . The method of claim 11 wherein the content data represents captured audio captured by a microphone.
13 . The method of claim 11 wherein the content data represents captured imagery captured by a camera.
14 . The method of claim 11 wherein deriving identification data comprises deriving fingerprint data corresponding to the content data.
15 . The method of claim 11 wherein deriving identification data comprises decoding watermark data from the content data.
16 . The method of claim 11 further comprising:
obtaining context information associated with the user device; and
selecting software to invoke on the user device by reference to the context information.
17 . The method of claim 11 further comprising determining whether the selected software is available to be invoked on the user device.
18 . The method of claim 17 further comprising downloading the selected software onto the user device if the selected software is determined to be unavailable to be invoked on the user device.
19 . The method of claim 11 further comprising automatically invoking the selected software, without user selection, on the user device.
20 . The method of claim 11 further comprising:
receiving user input regarding the selected software; and
invoking the selected software based on the received user input.