6:20-cv-00580
WSOU Investments LLC v. Google LLC
I. Executive Summary and Procedural Information
- Parties & Counsel:- Plaintiff: WSOU Investments, LLC d/b/a Brazos Licensing and Development (Delaware)
- Defendant: Google LLC (Delaware)
- Plaintiff’s Counsel: Etheridge Law Group, PLLC
 
- Case Identification: 6:20-cv-00580, W.D. Tex., 06/29/2020
- Venue Allegations: Plaintiff alleges venue is proper in the Western District of Texas because Google is registered to do business in Texas, maintains a physical address and multiple offices in Austin, employs over a thousand people in the district, and operates a "regular and established place of business" through its Google Global Cache (GGC) servers located within the district.
- Core Dispute: Plaintiff alleges that Defendant’s Mobile Vision API, a software framework for developers, infringes a patent related to methods for camera-based barcode reading.
- Technical Context: The technology concerns adaptive methods for accurately decoding barcodes using cameras on general-purpose devices like smartphones, which face challenges such as poor lighting and image quality not present with dedicated scanners.
- Key Procedural History: The asserted patent was originally assigned to Nokia Corporation. The complaint does not mention any prior litigation, Inter Partes Review (IPR) proceedings, or licensing history related to the patent-in-suit.
Case Timeline
| Date | Event | 
|---|---|
| 2006-08-03 | U.S. Patent No. 7,946,491 Priority Date (Filing Date) | 
| 2011-05-24 | U.S. Patent No. 7,946,491 Issues | 
| 2020-06-29 | Complaint Filed | 
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 7,946,491 - Method, apparatus, and computer program product for providing a camera barcode reader
- Issued: May 24, 2011
The Invention Explained
- Problem Addressed: The patent describes the difficulty of using cameras, particularly on mobile devices, to read barcodes compared to dedicated scanners. It notes that camera images can suffer from non-uniform lighting, sensor noise, and less distinct edges, making barcodes hard to recognize. Existing applications were often "rigid" and limited to specific barcode types or ideal conditions (’491 Patent, col. 1:59 - col. 2:14).
- The Patented Solution: The invention provides a flexible and adaptive method for decoding barcodes. The system first processes an input image; if that processing is unsuccessful, it can switch to a different reading method or try again with a new image frame. If the initial processing is successful, it attempts to decode the barcode. If that decoding attempt fails, it again switches to a different method. This iterative approach, illustrated in the patent’s flowcharts, allows the system to try multiple strategies to overcome image quality issues. (’491 Patent, Abstract; FIG. 6).
- Technical Importance: This technology sought to make barcode reading on ubiquitous camera-equipped mobile devices more robust and reliable, enabling a wider range of consumer and commercial applications without specialized hardware (’491 Patent, col. 2:15-22).
Key Claims at a Glance
- The complaint alleges infringement of at least Claim 1. The complaint states Google infringes "one or more claims," which suggests the right to assert additional claims may be preserved (Compl. ¶60).
- Independent Claim 1 requires:- processing an input image for an attempt to decode it using a current barcode reading method, where the processing includes performing a correction on the input image;
- determining if the processing was successful based on whether the correction is completed;
- switching to a different barcode reading method or processing a new image frame if the initial processing is unsuccessful;
- attempting to decode the input image if the initial processing is successful; and
- performing a switch to a different barcode reading method if the decoding attempt fails.
 
III. The Accused Instrumentality
Product Identification
The accused products are "Google's Mobile Vision," specifically the "Mobile Vision API" and its barcode reading feature, which the complaint notes is now part of Google's "ML Kit" (Compl. ¶¶ 45-47, p. 17).
Functionality and Market Context
The Mobile Vision API is a software framework provided to developers for integrating object detection into applications (Compl. ¶ 46, p. 17). The barcode reading feature allegedly processes an input image to detect and decode various barcode formats. The complaint alleges it allows a user to "adjust the corners of the region of interest denoted by the box," which it characterizes as "performing correction on the input image" (Compl. ¶ 48). The complaint includes a screenshot from a YouTube video that shows a bounding box being placed around a barcode (Compl. ¶ 48, p. 18). It is also alleged that if a barcode cannot be detected due to poor image quality, the API's documentation suggests asking the user to "recapture the image," and if a first barcode format fails to be detected, the API proceeds to detect a second format (Compl. ¶¶ 52, 58).
IV. Analysis of Infringement Allegations
'491 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation | 
|---|---|---|---|
| processing an input image for an attempt to decode the input image using a current barcode reading method, the processing including performing a correction on the input image; | The Mobile Vision API allegedly allows a user to adjust the corners of a bounding box, which the complaint describes as "performing correction on the input image." A screenshot from a video tutorial is provided to illustrate this bounding box functionality (Compl. ¶ 48, p. 18). | ¶48 | col. 15:26-34 | 
| determining whether the processing of the input image is successful based on a determination as to whether the correction is completed; | The complaint alleges the API "performs a check to determine whether the correction of the input image is completed before starting the detection for specific barcode formats." It further alleges correction is complete only after barcode detection, conversion, and creation of a bounding box. | ¶¶50-51 | col. 17:50-61 | 
| switching to one of a different barcode reading method or processing a new frame of the input image using the current barcode reading method in response to the processing of the input image being unsuccessful; | If an image contains no barcode or is of poor quality, the API provisions allegedly cause the user to be asked to "supply a new image." A screenshot of API documentation states, "try asking the user to recapture the image" (Compl. p. 21). | ¶52 | col. 17:54-61 | 
| attempting a decode of the input image using the current barcode reading method in response to the processing of the input image being successful; | After successful processing, the API's barcode detector allegedly "decodes the input image by utilizing pre-determined algorithms dedicated to every barcode type." | ¶54 | col. 17:61-64 | 
| performing a switch to the different barcode reading method in response to a failure of the attempt to decode the input image using the current barcode reading method. | The complaint alleges that upon failure to detect a first barcode type, such as 'DATA MATRIX', the API "starts detecting the second type of barcode i.e. 'QR CODE'," which is characterized as a "switch in the barcode reading method." | ¶58 | col. 18:1-4 | 
- Identified Points of Contention:- Technical Questions: A primary question is whether the user-interactive "adjust[ment of] the corners of the region of interest" alleged in the complaint (Compl. ¶ 48) is technically equivalent to the automated, algorithmic "correction on the input image" (e.g., filtering, image warping) described in the patent’s specification (’491 Patent, col. 15:26-34).
- Scope Questions: The case may turn on whether the accused API's method for handling multiple barcode types—which the complaint illustrates with a code snippet setting formats with a bitwise OR operator (DATA_MATRIX | Barcode.QR_CODE) (Compl. ¶ 58)—constitutes the sequential "switch to the different barcode reading method" that is performed "in response to a failure" as claimed. The patent’s flowchart suggests a discrete, sequential process (e.g., attempt A -> fail -> switch to B), raising the question of whether a pre-configured, multi-format search operates in the same way.
 
V. Key Claim Terms for Construction
- The Term: "performing a correction on the input image" 
- Context and Importance: This term appears in the first limitation of the independent claim and defines a foundational step of the claimed method. Its construction is critical because the infringement theory relies on equating a user-adjustable bounding box with the "correction" taught in the patent. 
- Intrinsic Evidence for Interpretation: - Evidence for a Broader Interpretation: The claim language itself is broad and does not specify the means of correction. An argument could be made that any action that prepares the image for more successful decoding, whether algorithmic or user-guided, falls within the term's plain meaning.
- Evidence for a Narrower Interpretation: The specification describes specific automated embodiments of correction, such as applying a "binary recursive median filter to remove noise impulses," "adjusting corner positions" algorithmically, and performing "image warping processing" (’491 Patent, col. 15:26-34). A party could argue the term should be limited to these or similar algorithmic, non-user-interactive processes.
 
- The Term: "switching to ... a different barcode reading method" 
- Context and Importance: This term captures the adaptive nature of the invention. The dispute will likely focus on whether the accused API's process for detecting multiple barcode formats constitutes a "switch" as required by the claim. 
- Intrinsic Evidence for Interpretation: - Evidence for a Broader Interpretation: The plain meaning could encompass any change from attempting to decode with method A to attempting to decode with method B, regardless of whether the methods were pre-configured to run in some sequence.
- Evidence for a Narrower Interpretation: The patent’s flowchart (FIG. 6) depicts a distinct sequence: "attempt to decode" (220), then "determine whether the decoding is successful" (230), and only upon failure, "switch to a different barcode reading method" (270). This may support an interpretation that a discrete failure determination must precede and trigger the switch, as opposed to a single process that iterates through a list of possible formats.
 
VI. Other Allegations
- Indirect Infringement: The complaint alleges Google induces infringement by providing developer documentation, code examples, and tutorials that instruct users on how to implement the accused infringing functionality of the Mobile Vision API (Compl. ¶ 62). Contributory infringement is also alleged, on the basis that the Accused Products are especially made for infringement and lack substantial non-infringing uses (Compl. ¶ 63).
- Willful Infringement: The complaint alleges willful infringement based on Google’s knowledge of the ’491 Patent "since at least the date of service of this Complaint" (Compl. ¶ 61). The prayer for relief seeks enhanced damages and a declaration that the case is exceptional.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of technical operation: does the accused API’s user-interactive bounding box feature perform the same function as the automated, algorithmic "correction on the input image" described in the patent's specification, or is there a fundamental mismatch between a user-guided GUI tool and an automated image processing algorithm?
- A key question of claim scope will be whether the patent’s requirement for "switching to a different barcode reading method" in response to a failure can be read to cover the accused API’s alleged practice of attempting to detect multiple, pre-specified barcode formats in a single operation.
- An evidentiary question will be one of functional sequence: does the accused API first determine that a "correction is completed" and use that successful determination to trigger a decoding attempt, as the sequential logic of Claim 1 appears to require?