# Patent

## Title
Browser-based mobile image capture

## Abstract

Systems and methods for integrating mobile image capture with an internet browser application on a mobile device are provided, wherein a user viewing a web page via the internet browser application can initiate a mobile image capture process on the mobile device through the web page, capture images with a mobile image capture user interface, and then provide secure access to the captured images for the web page in order to utilize the content of the captured images. The mobile image capture process is accessible through any internet browser application via the mobile device and allows any service running on a web page to benefit from the ability to capture an image on the mobile device and obtain the content of the image through mobile image processing. The browser-based mobile image capture allows mobile devices which do not run certain third party applications to utilize mobile image capture and processing.

## Background
RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 14/568,085, filed on Dec. 11, 2014, which claims priority to U.S. Provisional Patent App. No. 61/914,847, filed on Dec. 11, 2013, and is a continuation in part of U.S. patent application Ser. No. 14/042,677, filed on Sep. 30, 2013, U.S. patent application Ser. No. 14/042,719, filed on Sep. 30, 2013, and U.S. patent application Ser. No. 13/769,833, filed on Feb. 19, 2013, which are all hereby incorporated herein by reference as if set forth in full.


BACKGROUND
1. Field of the Invention
Various embodiments described herein relate generally to the field of image capture using a mobile device. More particularly, various embodiments are directed to integrating mobile image capture with an internet-browser application on the mobile device.
2. Related Art
Mobile phone adoption continues to escalate, including ever-growing smart phone adoption and tablet usage. Mobile imaging is a discipline where a consumer takes a picture of a document, and that document is processed, extracting and extending the data contained within it for selected purposes. The convenience of this technique is powerful and is currently driving a desire for this technology throughout financial services and other industries.
Numerous applications utilizing mobile image capture have been developed for various financial services such as check deposits, bill pay, credit card balance transfers, and insurance account services, to name a few. These applications rely on the use of a third party application running on the mobile device that is managed by the service provider, such as a bank, utility or insurance company. The mobile image capture process is built into the third party application and is often customized for the particular third party service through the use of specific user interfaces and image capture parameters that are designed to capture certain types of documents with known properties and content. The mobile image capture process is therefore limited to use only within the specific third party application and cannot be utilized for another purpose for which it has not already been integrated. This effectively prevents the use of mobile image capture for mobile devices which do not run these third party applications or for services which are accessed through a mobile web browser instead of the third party application that is resident on the mobile device.
Therefore, it is desirable to broaden the use of mobile image capture for use with additional services and platforms available on the mobile device.
SUMMARY
Disclosed herein are systems and methods for integrating mobile image capture with an internet browser application on a mobile device. Various embodiments provide for a user viewing a web page via the internet browser application to initiate a mobile image capture process on the mobile device through the web page, capture one or more images with a mobile image capture user interface, and then provide secure access to the one or more captured images for the web page to utilize the content of the one or more captured images. The mobile image capture process is accessible through any internet browser application via the mobile device and allows any service running on a web page to benefit from the ability to capture an image on the mobile device and obtain the content of the image through mobile image processing.
Other features and advantages should become apparent from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
Various embodiments disclosed herein are described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or exemplary embodiments. These drawings are provided to facilitate the reader's understanding and shall not be considered limiting of the breadth, scope, or applicability of the embodiments. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.
FIG. 1A is a workflow diagram illustrating an exemplary network topology that may be used for browser-based mobile image capture, according to embodiments.
FIG. 1B is a workflow diagram illustrating an alternative exemplary network topology that may be used for browser-based mobile image capture, according to embodiments.
FIG. 2 is a flow diagram illustrating an exemplary method of performing browser-based mobile image capture according to embodiments.
FIG. 3 is a flow diagram illustrating a further exemplary method of performing browser-based mobile image capture according to embodiments.
FIG. 4 illustrates a block diagram of an embodiment of a computer/server system upon which an embodiment of the inventive methodology may be implemented



The various embodiments mentioned above are described in further detail with reference to the aforementioned figured and the following detailed description of exemplary embodiments.
DETAILED DESCRIPTION
The embodiments described herein provide for an internet browser application running on a mobile device to interface with a mobile image capture application running on the mobile device to provide for mobile image capture and processing for web-based services accessible through web pages on the internet browser application. This browser-based mobile image capture allows services which do not provide downloadable applications that run on the mobile device to utilize mobile image capture and processing features through the web browser. Additionally, mobile devices which do not provide or have access to third party applications can also utilize mobile image capture and processing. Furthermore, a mobile image capture application may be run on the mobile device as a standalone image capture application by the user of the mobile device in order to utilize the image capture and processing features apart from a related application.
System Overview
FIG. 1A is a workflow diagram illustrating one embodiment of a system and method for browser-based mobile image capture. As illustrated in FIG. 1A, the system utilizes a mobile device for accessing the web-based service and the mobile image capture application and a server for storing and providing secure access to the captured images to the web-based service. The mobile device is configured to run at least one internet browser application which allows a user to access the Internet, and specifically web pages for services which require capturing one or more images with content required for providing the services. The mobile device may run more than one internet browser application which the user can select from when accessing a web page; however, the user can select any internet browser application when utilization of the mobile image capture process is needed.
The mobile device is also configured to run a micro application (“MicroApp”) which interfaces with the browser to receive a request for mobile image capture, initiates a mobile image capture application and coordinates the transmission of the captured images to a remote server. The micro application also coordinates the transmission of schema from the browser to the mobile image capture application and the server which may pertain to the destination URL for the captured images or image capture settings to use when capturing the at least one image using the mobile device. In one embodiment, the schema may be transmitted using a JSON (JavaScript Object Notation) format. The mobile image capture application utilizes a camera on the mobile device and provides a user interface that allows a user to capture one or more high quality images with content that is needed for the web-based services. The features of the mobile image capture application provide for the user to easily and quickly capture high quality images of content with the mobile device, such as documents, financial papers, identification cards, license plates, vehicle identification numbers (VIN) and other words, numbers and symbols that may be needed by a web-based service and which would otherwise require manual entry of the content through more cumbersome entry methods such as typing or touch-based inputs.
The server may be configured to receive the one or more captured images from the micro application and store the captured images in a connected database for access by the web-based service. The server may also receive the schema from the micro application with the data on the destination for the captured images. The captured images may be securely stored and provide limited access using a token-based system or other secure protocol to ensure that the captured images and any content extracted therefrom are utilized only for the specific service that the user selects. The server may then send a response to the micro application confirming that the image and related data has been received and stored, which may prompt the micro application to close and return the user to the browser application. As will be described in further detail below, the captured images may then be requested (securely via the token) by the web-based service that the user is accessing with the internet browser on the mobile device, after which the captured images are transmitted to servers for the web-based service (not illustrated herein) at the destination URL provided in the schema. In one embodiment, the servers for the web-based service may perform image correction on the received images to obtain images which meet certain standards and requirements for content extraction such that the content can be extracted with a high degree of confidence. The servers for the web-based service may then perform content extraction steps on the corrected images in order to produce a content file of the extracted content for use by the web-based service.
In an alternate embodiment illustrated in FIG. 1B, the captured images may be stored directly on the mobile device without needing to store the images at a remote server, and the captured images can then be transmitted directly to the servers of the web-based service directly from the mobile device. In this embodiment, the micro application (also known as the “Collaborative Application”) provides for storing the one or more captured images in the RAM in the collaborative app on the mobile device, where it can then be retrieved within a short time frame using the same session GUID to ensure the security of the captured images.
It should be noted that although the micro application and mobile image capture (or “MiSnap”) application are illustrated as separate applications, they may be integrated into a single application that is executable on the mobile device rather than separate applications which require separate executions. The configurability of the applications may depend upon the operating system of the mobile device, but will nonetheless provide the same functionality regardless of the integration or separation of these applications.
Exemplary Method
One embodiment of a method for browser-based mobile image capture is illustrated in FIG. 2, beginning with the user accessing the internet browser application (step 202). When the user arrives at a web page which requests a mobile image of a document or other content, the user may select a hyperlink that invokes the micro application on the mobile device (step 204). The hyperlink may also contain information on the type of image, document or content to be captured and provide settings to the mobile image capture application that will improve the process and quality for capturing of the mobile image. In step 206, the mobile image capture application is invoked and one or more images are captured, after which the captured images are stored (step 208) on the remote server. An access token is created in step 210 which provides information specific to the capture of the images that will be used to verify that the captured and stored images are not requested by an unauthorized user. In step 212, the user is returned to the internet browser application where the user can then request the captured images using the token data (step 214) from the server. Once the token is authenticated, the captured images are obtained (step 216) by transmitting them from the stored location on the remote server to the server of the service providing the web page. The service will then extract the content from the captured images to utilize in providing the user with a particular service.
FIG. 3 illustrates a detailed flowchart of the process for browser-based mobile image capture, which illustrates the steps taken by the browser, the micro application and the mobile image capture application to provide the browser-based interface and image capture on the mobile device. In this embodiment, at the first step where the user selects a hyperlink on the browser, the hyperlink acts to invoke the micro application and first determines whether the micro application was invoked by the browser hyperlink or by another invocation means (such as a user launching the micro application directly on the mobile device for generic image capture applications). In one embodiment, the micro application may be integrated with the browser application as a plugin application which is automatically invoked by the web page at a certain step or which is invoked by the user selecting an icon for the plugin on the browser menu. If the micro application was invoked by the browser (Invoked—Yes), several schema will be passed along from the browser hyperlink, including settings for image capture, a server URL where the captured images and a token should be stored, and a return URL where the browser may be pointed to once the images have been captured. If the return URL is included, the micro application will direct the browser application to the return URL. If no return URL is supplied, the user will be returned to the calling URL that initiated the micro application. Thus, the micro application may store the destination information for the captured image so that the captured image can be automatically sent back to the destination specified by the web service without requiring the user to perform a separate step. If the micro application was invoked by other means (Invoked—No), a generic mode of the micro application and mobile image capture application are initiated to provide for a general image capture application using the camera of the mobile device and allowing the user to send any captured images to a destination of their choice via numerous transmission modes (text message, e-mail, upload to a social media page, cloud storage, etc.).
Once the mobile image capture application is initiated, the camera on the mobile device is utilized along with a user interface which provides for automatic capture of images of a document or other content based on the schema passed in through the hyperlink. When the image or images have been captured, the mobile image capture application terminates. The micro application then determines whether the captured images were requested by the browser (Invoke—Yes) and transmits the captured images to the server. If the captured images were requested by other means (Invoke—No), the captured images may be saved within the memory of the mobile device or sent to a destination selected by the user using a user interface provided by the micro application.
When the captured images are transmitted to the server, a token is also created and stored at the server along with the captured images. The token is designed to prevent unauthorized access to the captured image, and may be created with data from one or more criteria which is associated with the captured images, such as a time stamp of the time the images were created, a device identifier which uniquely identified the mobile device which captured the images, or a user identifier for the user of the mobile device that the user has set up with the web page service provider, phone carrier or through the micro application. The token may also be instance specific in that it can only be used once, or it must be used within a certain period of time before it expires. The captured images can only be transmitted from the server when a proper request is made which identifies the address where the images are stored on the server (server URL) and provides the token which matches the token stored at the server. Once the token and captured images are transmitted to the server, the micro application terminates and the mobile device returns the user to the browser application. The browser application is still displaying the browser session with the web page that requested the captured images, and the browser can either automatically request the captured images or wait for the user to select a link to then request that the captured images be transmitted to the server for the web page.
Additional Applications
In another embodiment, the internet browser may be configured to operate within the micro application such that the user uses the micro application to access the web page for the web service that requires mobile image capture. The embedded browser functionality within the micro application provides for streamlined functionality between the browser, micro application and mobile image capture application since the entire user interface and browser functionality takes place within a single application on the mobile device.
In another embodiment, the micro application may also provide independent functionality as a generic mobile image capture application which can be invoked separately from the internet browser where the user would like to capture one or more images of content for their own use or for use with an application that provides for uploading the image through another application or other communication means. For example, a service may require that an image be captured and then sent via a text message or e-mail message to an address for image processing and content extraction. The user could then initiate the micro application in the Generic Mode shown in FIG. 3 in order to capture one or more images using the mobile image capture application and then select an option to send the captured one or more images via text or e-mail message to a destination address for the service. The mobile image capture application on its own would provide benefits over a default image capture application on the mobile device by providing functionality for automatic capture of a high quality image based on a real-time evaluation of mobile device settings and the image settings.
Computer-Implemented Embodiment
FIG. 4 is a block diagram that illustrates an embodiment of a computer/server system 400 upon which an embodiment of the inventive methodology may be implemented. The system 400 includes a computer/server platform 401 including a processor 402 and memory 403 which operate to execute instructions, as known to one of skill in the art. The term “computer-readable storage medium” as used herein refers to any tangible medium, such as a disk or semiconductor memory, that participates in providing instructions to processor 402 for execution. Additionally, the computer platform 401 receives input from a plurality of input devices 404, such as a keyboard, mouse, touch device or verbal command. The computer platform 401 may additionally be connected to a removable storage device 405, such as a portable hard drive, optical media (CD or DVD), disk media or any other tangible medium from which a computer can read executable code. The computer platform may further be connected to network resources 406 which connect to the Internet or other components of a local public or private network. The network resources 406 may provide instructions and data to the computer platform from a remote location on a network 407. The connections to the network resources 406 may be via wireless protocols, such as the 802.11 standards, Bluetooth® or cellular protocols, or via physical transmission media, such as cables or fiber optics. The network resources may include storage devices for storing data and executable instructions at a location separate from the computer platform 401. The computer interacts with a display 408 to output data and other information to a user, as well as to request additional instructions and input from the user. The display 408 may therefore further act as an input device 404 for interacting with a user
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not of limitation. The breadth and scope should not be limited by any of the above-described exemplary embodiments. Where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future. In addition, the described embodiments are not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated example. One of ordinary skill in the art would also understand how alternative functional, logical or physical partitioning and configurations could be utilized to implement the desired features of the described embodiments.
Furthermore, although items, elements or components may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.

## Claims

1. A method comprising using at least one computer processor of a mobile device to:
within a browser application on the mobile device, retrieve a web page from a web server over at least one network, wherein the web page comprises a hyperlink to a micro application on the mobile device;
in response to selection of the hyperlink in the web page within the browser application, invoke the micro application on the mobile device; and,
by the micro application,
initiate an image capture of one or more images using the mobile device, and
send the captured one or more images to a remote server over the at least one network, wherein the remote server is different from the web server.

2. The method of claim 1, wherein the hyperlink contains a schema comprising one or more settings for image capture, and wherein the image capture of the one or more images is performed in accordance with the schema contained within the selected hyperlink.

3. The method of claim 1, wherein the captured one or more images are transmitted to the remote server with a token.

4. The method of claim 3, further comprising using at least one computer processor of the remote server to:
receive the captured one or more images and the token from the mobile device via the at least one network;
store the captured one or more images in association with the token;
receive a request for the captured one or more images from the web server, wherein the request comprises a token; and,
when the token in the request matches the token stored in association with the captured one or more images, send the captured one or more images to the web server.

5. The method of claim 4, further comprising using the at least one computer processor of the remote server to:
temporarily store the captured one or more images in a memory of the remote server; and
delete the captured one or more images from the memory in response to expiration of the token stored in association with the captured one or more images.

6. The method of claim 4, further comprising using the at least one computer processor of the remote server to perform image correction on the captured one or more images prior to sending the captured one or more images to the web server.

7. The method of claim 4, wherein the request further comprises a server Uniform Resource Locator (URL) identifying a location on the remote server at which the captured one or more images are stored.

8. The method of claim 1, wherein the captured one or more images are transmitted to the remote server with a destination Uniform Resource Locator (URL).

9. The method of claim 8, further comprising using at least one computer processor of the remote server to:
receive the captured one or more images and the destination URL from the mobile device via the at least one network; and
send the captured one or more images to the destination URL.

10. The method of claim 9, further comprising the at least one computer processor of the remote server to perform image correction on the captured one or more images prior to sending the captured one or more images to the destination URL.

11. The method of claim 1, further comprising using the at least one computer processor of the mobile device to:
temporarily store the captured one or more images in a memory of the mobile device; and
delete the captured one or more images from the memory in response to a session ending between the browser application and the web server.

12. The method of claim 1, further comprising using the at least one computer processor of the mobile device to close the micro application in response to a session ending between the browser application and the web server.

13. The method of claim 1, wherein the micro application is a plug-in of the browser application.

14. The method of claim 1, further comprising using the at least one computer processor of the mobile device to:
receive an acknowledgement, from the remote server, that the captured one or more images were received by the remote server; and,
in response to receiving the acknowledgement, close the micro application and return to the browser application.

15. The method of claim 1, further comprising using the at least one computer processor of the mobile device to, by the micro application:
determine whether or not a return Uniform Resource Locator (URL) was provided during invocation of the micro application;
when determining that the return URL was provided during invocation of the micro application, direct the browser application to the return URL; and,
when determining that no return URL was provided during invocation of the micro application, return to the web page.

16. The method of claim 1, wherein the web page further comprises a request hyperlink, and wherein the method further comprises using the at least one computer processor of the mobile device to, in response to selection of the request hyperlink, send a request to the remote server that the captured one or more images be sent to the web server.

17. The method of claim 1, wherein the at least one network comprises the Internet.

18. A system comprising at least one computer processor configured to:
within a browser application on the mobile device, retrieve a web page from a web server over at least one network, wherein the web page comprises a hyperlink to a micro application on the mobile device;
in response to selection of the hyperlink in the web page within the browser application, invoke the micro application on the mobile device; and,
by the micro application,
initiate an image capture of one or more images on the mobile device, and
send the captured one or more images to a remote server over the at least one network, wherein the remote server is different from the web server.

19. A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to:
within a browser application on the mobile device, retrieve a web page from a web server over at least one network, wherein the web page comprises a hyperlink to a micro application on the mobile device;
in response to selection of the hyperlink in the web page within the browser application, invoke the micro application on the mobile device; and,
by the micro application,
initiate an image capture of one or more images on the mobile device, and
send the captured one or more images to a remote server over the at least one network, wherein the remote server is different from the web server.