Methods and arrangements for reducing superfluous network traffic in distributed image processing systems
Digital watermarking and advanced image signal processing. One claim recites a method comprising the acts: receiving first imagery depicting an object viewed by a camera of a wireless device; using software on said wireless device, retrieving instructions, including compiled binary object code, from a remote repository, and executing said retrieved instructions to perform acts including: (A) deriving multiple features corresponding to multiple different pixel blocks of image data from the received first imagery; (B) identifying a first block of image data that has a highest likelihood of including a watermark reference signal as indicated by said features; and (C) evaluating whether data corresponding to the identified first block of image data merits transmission to and processing at a remote server, and concluding it does merit said transmission and processing; preparing data corresponding to said first block of image data; sending the prepared data to the remote server, and receiving information from a server in response; and displaying, on a screen of the wireless device, data corresponding to said received information. Other claims and combinations also provided.
1 . A method comprising the acts:
receiving first imagery depicting an object viewed by a camera of a wireless device, said receiving yielding received first imagery;
using software on said wireless device, retrieving instructions, including compiled binary object code, from a remote repository for execution by the wireless device to perform initial digital watermark detection processing, and executing said compiled binary object code on the wireless device to perform initial digital watermark processing including: (A) deriving multiple features corresponding to multiple different pixel blocks of image data from the received first imagery; (B) identifying a first block of image data that has a highest likelihood of including a digital watermark reference signal as indicated by said multiple features, said identifying yielding an identified first block of image data; and (C) evaluating whether data corresponding to the identified first block of image data merits transmission to and processing at a remote server, and concluding it does merit said transmission and processing;
preparing data corresponding to said first block of image data, said preparing yielding prepared data;
sending the prepared data to the remote server, and receiving information from a server in response; and
displaying, on a screen of the wireless device, data corresponding to said received information.
2 . The method of claim 1 in which said multiple features comprise metrics computed using Fourier magnitude correlation values.
3 . The method of claim 1 in which said multiple features comprise linear reference pattern strength scores.
4 . The method of claim 1 in which said multiple features comprise phase deviation metrics.
5 . The method of claim 1 in which said evaluating comprises testing one or more values of features for said first block of image data against a first threshold.
6 . A method comprising the acts:
receiving first imagery depicting an object viewed by a camera of a wireless device, said receiving yielding received first imagery;
using software on said wireless device, retrieving instructions, including compiled binary object code, from a remote repository, and executing said retrieved instructions to perform acts including: (A) deriving multiple features corresponding to multiple different pixel blocks of image data from the received first imagery; (B) identifying a first block of image data that has a highest likelihood of including a digital watermark reference signal as indicated by said multiple features, said identifying yielding an identified first block of image data; and (C) evaluating whether data corresponding to the identified first block of image data merits transmission to and processing at a remote server, and concluding it does merit said transmission and processing, in which said evaluating comprises testing one or more values of features for said first block of image data against a first threshold, and in which said evaluating also comprises testing a value of a feature for a block of image data that spatially neighbors said first block of image data against a second threshold;
preparing data corresponding to said first block of image data, said preparing yielding prepared data;
sending the prepared data to the remote server, and receiving information from a server in response; and
displaying, on a screen of the wireless device, data corresponding to said received information.
7 . The method of claim 5 in which said evaluating also comprises testing a value of a feature for a block of image data that temporally neighbors said first block of image data against a second threshold.
8 . A method comprising the acts:
receiving first imagery depicting an object viewed by a camera of a wireless device, said receiving yielding received first imagery;
using software on said wireless device, retrieving instructions, including compiled binary object code, from a remote repository, and executing said retrieved instructions to perform acts including: (A) deriving multiple features corresponding to multiple different pixel blocks of image data from the received first imagery; (B) identifying, from among the multiple different pixel blocks, a first block of image data that has a highest likelihood of including a watermark reference signal as indicated by said multiple features; and (C) applying the derived features for multiple blocks of image data, including said first block of image data, to a classifier comprising a trained model to evaluate whether data corresponding to the first block of image data merits transmission to and processing at a remote server, and concluding that the data corresponding to the first block of image data does merit said transmission to and processing at the remote server;
preparing data corresponding to said first block of image data, said preparing yielding prepared data;
sending the prepared data to the remote server, and receiving information from the remote server in response; and
displaying, on a screen of the wireless device, data corresponding to said received information.
9 . The method of claim 8 in which said trained model comprises a K neighbor classifier, a linear support-vector machine classifier, a Gaussian kernel support-vector machine classifier, a Fisher linear discriminant model, a convolutional neural network, a linear regression classifier, a decision tree classifier, a random forest classifier, or a Bayesian classifier.
10 . The method of claim 1 in which said evaluating comprises analyzing the first block of image data for expected values.
11 . The method of claim 1 in which said evaluating comprises analyzing the first block of image data using binomial statistics.
12 . The method of claim 1 in which preparing the data comprises changing scale and oct-axis filtering of the first block of image data.
13 . The method of claim 1 in which preparing the data comprises applying a lossless compression process.
14 . The method of claim 1 in which preparing the data comprises encoding said data in a format lacking control characters to yield encoded data, packaging the encoded data as a JSON object, and losslessly compressing the JSON object.
15 . The method of claim 1 in which the prepared data corresponds to a 128×128 array of values.
16 . The method of claim 1 in which the prepared data corresponds to a 128×128 array of values, each of said values having a bit length of four or less.
17 . The method of claim 1 in which the prepared data corresponds to a 320×320 array of values.
18 . The method of claim 1 in which the prepared data is a scaled and rotated counterpart of the first block of image data.
19 . The method of claim 1 in which the prepared data is a scaled, rotated and translated counterpart of the first block of image data.
20 . The method of claim 1 that further includes receiving second imagery depicting an item viewed by said camera, said receiving second imagery yielding received second imagery; executing said instructions to perform: (A) deriving additional multiple features corresponding to multiple different pixel blocks of image data produced from the received second imagery; (B) identifying a particular block of image data that has a highest likelihood of including a digital watermark reference signal as indicated by said additional multiple features; and (C) evaluating whether data corresponding to the particular block of image data merits transmission to and processing at a remote server, and concluding it does not merit said transmission and processing; and not sending said particular block of image data, nor data derived therefrom, to the remote server.
21 . The method of claim 1 in which each of said multiple features comprise a score indicating a likelihood that the corresponding block includes a digital watermark reference signal.
22 . The method of claim 1 in which the camera captures plural channels of color information, and the data sent to the remote server is monochrome information.
23 . The method of claim 1 that includes performing acts (A), (B) and (C) five or more times per second, each time on a different frame of received imagery.
24 . The method of claim 1 in which the sending act comprises sending less than 75K bytes of data, representing said first block of image data, to the remote server.
25 . The method of claim 1 in which the sending act comprises sending less than 30K bytes of data, representing said first block of image data, to the remote server.
26 . The method of claim 1 in which the sending act comprises sending less than 10K bytes of data, representing said first block of image data, to the remote server.
27 . The method of claim 8 , wherein the retrieved instructions include WebAssembly compiled binary code executed by the wireless device to perform said deriving and said applying.
28 . The method of claim 8 , wherein the classifier evaluates the multiple features using features corresponding to the first block and one or more spatially or temporally neighboring blocks.