`
`IN THE UNITED STATES DISTRICT COURT
`FOR THE DISTRICT OF COLORADO
`
`REALTIME ADAPTIVE STREAMING LLC,
`
`
`
`
`
`
`
`
`
`Plaintiff,
`
`Case No. ______________________
`
` v.
`
`
`
`WOWZA MEDIA SYSTEMS, LLC
`
`JURY TRIAL DEMANDED
`
`
`
`
`
`
`
`Defendant.
`
`
`
`
`COMPLAINT FOR PATENT INFRINGEMENT
`
`This is an action for patent infringement arising under the Patent Laws of the
`
`United States of America, 35 U.S.C. § 1 et seq. in which Plaintiff Realtime Adaptive
`
`Streaming LLC (“Plaintiff” or “Realtime”) makes the following allegations against
`
`Defendant Wowza Media Systems, LLC (“Defendant” or “Wowza”).
`
`PARTIES
`
`1.
`
`Realtime is a Texas limited liability company. Realtime has a place of
`
`business at 1828 E.S.E. Loop 323, Tyler, Texas 75701. Realtime has researched and
`
`developed specific solutions for data compression. As recognition of its innovations
`
`rooted in this technological field, Realtime holds multiple United States patents and
`
`pending patent applications.
`
`2.
`
`On information and belief, Defendant Wowza is a Delaware limited
`
`liability company with its principal place of business in Golden, Colorado. Wowza has
`
`regular and established places of business in this District, including, e.g., at 523 Park
`
`Point Drive, Suite 300, Golden, Colorado 80401. Wowza offers its products and/or
`
`services, including those accused herein of infringement, to customers and potential
`
`customers located in Colorado and in this District. Wowza may be served with process
`
`
`
`1
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 2 of 66
`
`through its registered agent for service Elliot Foster Jordan Miller at 523 Park Point Drive,
`
`Suite 300, Golden, Colorado 80401.
`
`JURISDICTION AND VENUE
`
`3.
`
`This action arises under the patent laws of the United States, Title 35 of
`
`the United States Code. This Court has original subject matter jurisdiction pursuant to 28
`
`U.S.C. §§ 1331 and 1338(a).
`
`4.
`
`This Court has personal jurisdiction over Defendant Wowza in this action
`
`because Wowza has committed acts within the District of Colorado giving rise to this
`
`action and has established minimum contacts with this forum such that the exercise of
`
`jurisdiction over Wowza would not offend traditional notions of fair play and substantial
`
`justice. Defendant Wowza has committed and continues to commit acts of infringement
`
`in this District by, among other things, offering to sell and selling products and/or
`
`services that infringe the asserted patents.
`
`5.
`
`Venue is proper in this district, e.g., under 28 U.S.C. § 1400(b). Wowza is
`
`registered to do business in Colorado, and upon information and belief, Wowza has
`
`transacted business in the District of Colorado and has committed acts of direct and
`
`indirect infringement in the District of Colorado. Wowza has regular and established
`
`place(s) of business in this District, as set forth above.
`
` THE PATENTS-IN-SUIT
`
`6.
`
`This action arises under 35 U.S.C. § 271 for Wowza infringement of
`
`Realtime’s United States Patent Nos. 7,386,046 (the “’046 patent”), 8,934,535 (the
`
`“’535 patent”), 9,769,477 (the “’477 patent”), 8,634,462 (the “’462 patent”), and
`
`9,578,298 (the “’298 patent”) (the “Patents-In-Suit”).
`
`
`
`2
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 3 of 66
`
`7.
`
`The '046 patent, titled “Bandwidth Sensitive Data Compression and
`
`Decompression,” was duly and properly issued by the United States Patent and
`
`Trademark Office (“USPTO”) on June 10, 2008. A copy of the ’046 patent is attached
`
`hereto as Exhibit A. Realtime is the owner and assignee of the ’046 patent and holds the
`
`right to sue for and recover all damages for infringement thereof, including past
`
`infringement.
`
`8.
`
`The ’535 patent, titled “Systems and methods for video and audio data
`
`storage and distribution,” was duly and properly issued by the USPTO on January 13,
`
`2015. A copy of the ’535 patent is attached hereto as Exhibit B. Realtime is the owner
`
`and assignee of the ’535 patent and holds the right to sue for and recover all damages for
`
`infringement thereof, including past infringement.
`
`9.
`
`The ’477 patent, titled “Video data compression systems,” was duly and
`
`properly issued by the USPTO on September 19, 2017. A copy of the ’477 patent is
`
`attached hereto as Exhibit C. Realtime is the owner and assignee of the ’477 patent and
`
`holds the right to sue for and recover all damages for infringement thereof, including
`
`past infringement.
`
`10.
`
`The ’462 patent, titled “Quantization for Hybrid Video Coding,” was duly
`
`and properly issued by the USPTO on January 21, 2014. A copy of the ’462 patent is
`
`attached hereto as Exhibit D. Realtime is the owner and assignee of the ’462 patent and
`
`holds the right to sue for and recover all damages for infringement thereof, including
`
`past infringement.
`
`11.
`
`The
`
`’298 patent,
`
`titled “Method
`
`for Decoding 2D-Compatible
`
`Stereoscopic Video Flows,” was duly and properly issued by the USPTO on February
`
`
`
`3
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 4 of 66
`
`21, 2017. A copy of the ’298 patent is attached hereto as Exhibit E. Realtime is the
`
`owner and assignee of the ’298 patent and holds the right to sue for and recover all
`
`damages for infringement thereof, including past infringement.
`
`COUNT I
`
`INFRINGEMENT OF U.S. PATENT NO. 7,386,046
`
`12.
`
`Plaintiff
`
`re-alleges and
`
`incorporates by
`
`reference
`
`the
`
`foregoing
`
`paragraphs, as if fully set forth herein.
`
`13.
`
`On information and belief, Wowza has made, used, offered for sale, sold
`
`and/or imported into the United States Wowza products that infringe the ‘046 patent,
`
`and continues to do so. By way of illustrative example, these infringing products
`
`include, without limitation, Wowza’s streaming products/services such as, Wowza’s
`
`CLEARCASTER appliance, Wowza Streaming Cloud, Wowza Streaming Engine, and
`
`Wowza GoCoder, and all versions and variations thereof since the issuance of the ‘046
`
`patent (“Accused Instrumentalities”).
`
`14.
`
`On information and belief, Wowza has directly infringed and continues to
`
`infringe the ‘046 patent, for example, through its sale, offer for sale, importation, use
`
`and testing of the Accused Instrumentalities, which practices the system claimed by
`
`Claim 40 of the ‘046 patent, namely, a system, comprising: a data compression system
`
`for compressing and decompressing data input; a plurality of compression routines
`
`selectively utilized by the data compression system, wherein a first one of the plurality
`
`of compression routines includes a first compression algorithm and a second one of the
`
`plurality of compression routines includes a second compression algorithm; and a
`
`controller for tracking throughput and generating a control signal to select a compression
`
`
`
`4
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 5 of 66
`
`routine based on the throughput, wherein said tracking throughput comprises tracking a
`
`number of pending access requests to a storage device; and wherein when the controller
`
`determines that the throughput falls below a predetermined throughput threshold, the
`
`controller commands the data compression engine to use one of the plurality of
`
`compression routines to provide a faster rate of compression so as to increase the
`
`throughput. Upon information and belief, Wowza uses the Accused Instrumentalities to
`
`practice infringing methods for its own internal non-testing business purposes, while
`
`testing the Accused Instrumentalities, and while providing technical support and repair
`
`services for the Accused Instrumentalities to Wowza customers.
`
`15.
`
`For example, the Accused Instrumentalities utilize H.264 video compression
`
`standard, as well as Apple’s HTTP Live Streaming (HLS) technology. As such, Wowza
`
`streaming services/products “can be configured to deliver a stream to Adobe Flash
`
`Player, Microsoft Silverlight; Apple iPhone, iPad, or iPod touch devices; DASH players,
`
`and RTSP/RTP-based players at the same time using the streaming protocols.” See e.g.,
`
`https://www.wowza.com/docs/understanding-streaming-protocols-and-output-file-
`
`formats. Wowza further specifies that its streaming services/products “can stream
`
`adaptive bitrate live and VOD H.264, AAC, and MP3 content to iOS-based devices
`
`(iPhone/iPad/iPod touch iOS version 3.0 or later), QuickTime player (version 10 or
`
`later), Safari browser (version 4.0 or later), and other devices such as the Roku and
`
`Amino set-top boxes and some brands of smart TVs using the Apple HTTP Live
`
`Streaming (Apple HLS) protocol.” See e.g.,
`
`https://www.wowza.com/docs/understanding-streaming-protocols-and-output-file-
`
`formats. Moreover, HLS “protocol specification does not limit the encoder selection.
`
`
`
`5
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 6 of 66
`
`However, the current Apple implementation should interoperate with encoders that
`
`produce MPEG-2 Transport Streams containing H.264 video and AAC audio (HE-AAC
`
`or AAC-LC).” See, e.g.,
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html.
`
`As another example, HLS developer guide also states: “HTTP Live Streaming supports
`
`switching between streams dynamically if the available bandwidth changes. The client
`
`software uses heuristics to determine appropriate times to switch between the alternates.
`
`Currently, these heuristics are based on recent trends in measured network throughput.”
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html.
`
`Moreover, “The current implementation of the client observes the effective bandwidth
`
`while playing a stream. If a higher-quality stream is available and the bandwidth appears
`
`sufficient to support it, the client switches to a higher quality. If a lower-quality stream is
`
`available and the current bandwidth appears insufficient to support the current stream,
`
`the client switches to a lower quality.” See, e.g.,
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html.
`
`16.
`
`The Accused Instrumentalities include a data compression system for
`
`compressing and decompressing data input. For example, Wowza’s streaming
`
`products/services utilizes H.264 compression standard.
`
`
`
`6
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 7 of 66
`
`
`
`See, e.g., https://www.wowza.com/docs/wowza-transcoder.
`
`
`
`17.
`
`The Accused Instrumentalities include a plurality of compression routines
`
`selectively utilized by the data compression system, wherein a first one of the plurality of
`
`compression routines includes a first compression algorithm and a second one of the
`
`plurality of compression routines includes a second compression algorithm. For example,
`
`Wowza states that “[M]ultiple outbound renditions with aligned keyframes can be created
`
`from the single input stream. As a transrating solution, it can ingest an H.264 video and
`
`AAC/MP3 audio source stream and create a full set of output renditions that are
`
`keyframe-aligned to the original source. The aligned keyframes in the encoded output
`
`renditions enable adaptive bitrate delivery from the Wowza media server over Adobe
`
`HDS, Apple HLS, Microsoft Smooth Streaming, MPEG-DASH, and RTMP streaming
`
`protocols to multiple devices.” See, e.g., https://www.wowza.com/docs/wowza-
`
`transcoder. Moreover, the Accused Instrumentalities utilize H.264, which include, e.g.,
`
`Context-Adaptive Variable Length Coding (“CAVLC”) entropy encoder and Context-
`
`Adaptive Binary Arithmetic Coding (“CABAC”) entropy encoder. H.264 provides for
`
`
`
`7
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 8 of 66
`
`multiple different ranges of parameters (e.g., bitrate, resolution parameters, etc.), each
`
`included in the “profiles” and “levels” defined by the H.264 standard.
`
` See
`
`http://www.axis.com/files/whitepaper/wp_h264_31669_en_0803_lo.pdf at 5:
`
`See https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC:
`
`
`
`8
`
`
`
`
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 9 of 66
`
`18.
`
`A video data block is organized by the group of pictures (GOP) structure,
`
`which is a “collection of successive pictures within a coded video stream.” See
`
`https://en.wikipedia.org/wiki/Group_of_pictures. A GOP structure can contain intra
`
`coded pictures (I picture or I frame), predictive coded pictures (P picture or P frame),
`
`bipredictive coded pictures (B picture or B frame) and direct coded pictures (D picture or
`
`D frames, or DC direct coded pictures which are used only in MPEG-1 video). See
`
`https://en.wikipedia.org/wiki/Video_compression_picture_types (for descriptions of I
`
`frames, P frames and B frames); https://en.wikipedia.org/wiki/MPEG-1#D-frames (for
`
`descriptions of D frames). Thus, at least a portion of a video data block would also make
`
`up a GOP structure and could also contain I frames, P frames, B frames and/or D frames.
`
`The GOP structure also reflects the size of a video data block, and the GOP structure can
`
`be controlled and used to fine-tune other parameters (e.g. bitrate, max video bitrate and
`
`resolution parameters) or even be considered as a parameter by itself.
`
`19.
`
`Based on the bitrate and/or resolution parameter identified (e.g. bitrate,
`
`max video bitrate, resolution, GOP structure or frame type within a GOP structure), a
`
`H.264-compliant system such as the Accused Instrumentalities would determine which
`
`profile (e.g., “baseline,” “extended,” “main”, or “high”) corresponds with that parameter,
`
`then select between at least two asymmetric compressors. If baseline or extended is the
`
`corresponding profile, then the system will select a Context-Adaptive Variable Length
`
`Coding (“CAVLC”) entropy encoder. If main or high is the corresponding profile, then
`
`the system will select a Context-Adaptive Binary Arithmetic Coding (“CABAC”) entropy
`
`encoder. See https://sonnati.wordpress.com/2007/10/29/how-h-264-works-part-ii/
`
`
`
`9
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 10 of 66
`
` See http://web.cs.ucla.edu/classes/fall03/cs218/paper/H.264_MPEG4_Tutorial.pdf at 7:
`
`
`
`
`
`10
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 11 of 66
`
`
`
`Moreover, the H.264 Standard requires a bit-flag descriptor, which is set to determine the
`
`correct decoder for the corresponding encoder. As shown below, if the flag = 0, then
`
`CAVLC must have been selected as the encoder; if the flag = 1, then CABAC must have
`
`been selected as the encoder. See https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-
`
`REC-H.264-201304-S!!PDF-E&type=items (Rec. ITU-T H.264 (04/2013)) at 80:
`
`20.
`
`After its selection, the asymmetric compressor (CAVLC or CABAC) will
`
`compress the video data to provide various compressed data blocks, which can be
`
`organized
`
`in
`
`a
`
`GOP
`
`structure
`
`(see
`
`above).
`
`
`
`See
`
`https://sonnati.wordpress.com/2007/10/29/how-h-264-works-part-ii/:
`
`
`
`
`
`11
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 12 of 66
`
`See
`
`http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.602.1581&rep=rep1&type=pdf
`
`at 13:
`
`
`
`See http://www.ijera.com/papers/Vol3_issue4/BM34399403.pdf at 2:
`
`
`
`
`
`12
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 13 of 66
`
`
`
`21.
`
` The Accused Instrumentalities includes a controller for tracking
`
`throughput and generating a control signal to select a compression routine based on the
`
`throughput, wherein said tracking throughput comprises tracking a number of pending
`
`access requests to a storage device, and a controller where, when the controller
`
`determines that the throughput falls below a predetermined throughput threshold, the
`
`controller commands the data compression engine to use one of the plurality of
`
`
`
`13
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 14 of 66
`
`compression routines to provide a faster rate of compression so as to increase the
`
`throughput. For example, Wowza states that “[M]ultiple outbound renditions with
`
`aligned keyframes can be created from the single input stream. As a transrating solution,
`
`it can ingest an H.264 video and AAC/MP3 audio source stream and create a full set of
`
`output renditions that are keyframe-aligned to the original source. The aligned keyframes
`
`in the encoded output renditions enable adaptive bitrate delivery from the Wowza media
`
`server over Adobe HDS, Apple HLS, Microsoft Smooth Streaming, MPEG-DASH, and
`
`RTMP streaming protocols to multiple devices.” See, e.g.,
`
`https://www.wowza.com/docs/wowza-transcoder. Moreover, “HTTP Live Streaming
`
`supports switching between streams dynamically if the available bandwidth changes. The
`
`client software uses heuristics to determine appropriate times to switch between the
`
`alternates. Currently, these heuristics are based on recent trends in measured network
`
`throughput.”
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html.
`
`“The current implementation of the client observes the effective bandwidth while playing
`
`a stream. If a higher-quality stream is available and the bandwidth appears sufficient to
`
`support it, the client switches to a higher quality. If a lower-quality stream is available
`
`and the current bandwidth appears insufficient to support the current stream, the client
`
`switches to a lower quality.”
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html.
`
`The controller in the Accused Instrumentalities decides which compression (e.g.,
`
`
`
`14
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 15 of 66
`
`CABAC, CAVLC, etc.) to use at a point in time based on parameters, for example, e.g.,
`
`current or anticipated throughput. For example, when a low bandwidth is present, the
`
`Accused Instrumentalities select lower quality stream using a particular compression
`
`technique. As another example, when a high bandwidth is present, the Accused
`
`Instrumentalities select higher quality stream using another particular compression
`
`technique. For example, the Accused Instrumentalities’ use of HTTP Live Streaming is
`
`directed to this selection. As another example, the Accused Instrumentalities’ use of
`
`different “Profiles” of H.264 is directed to selecting lower quality stream using a
`
`particular compression technique (e.g., CABAC or CAVLC, etc.) for lower anticipated
`
`bandwidth situations, and selecting higher quality stream using a higher compression
`
`technique (e.g., CABAC or CAVLC, etc.) for higher anticipated bandwidth situations.
`
`22.
`
`On information and belief, Wowza also directly infringes and continues to
`
`infringe other claims of the ‘046 patent.
`
`23.
`
`On information and belief, all of the Accused Instrumentalities perform
`
`the claimed methods in substantially the same way, e.g., in the manner specified in the
`
`H.264 standard.
`
`24.
`
`On information and belief, use of the Accused Instrumentalities in their
`
`ordinary and customary fashion results in infringement of the methods and systems
`
`claimed by the ‘046 patent.
`
`25.
`
`On information and belief, Wowza has had knowledge of the ‘046 patent
`
`since at least the filing of this Complaint or shortly thereafter, and on information and
`
`belief, Wowza knew of the ‘046 patent and knew of its infringement, including by way of
`
`this lawsuit. By the time of trial, Wowza will have known and intended (since receiving
`
`
`
`15
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 16 of 66
`
`such notice) that its continued actions would actively induce and contribute to the
`
`infringement of the claims of the ‘046 patent.
`
`26.
`
`Upon information and belief, Wowza’s affirmative acts of making, using,
`
`and selling the Accused Instrumentalities, and providing implementation services and
`
`technical support to users of the Accused Instrumentalities, including, e.g., through
`
`training, demonstrations, brochures, installation and user guides, have induced and
`
`continue to induce users of the Accused Instrumentalities to use them in their normal
`
`and customary way to infringe the ‘046 patent. For example, Wowza adopted H.264 as
`
`its video codec in its streaming products/services such as, Wowza’s CLEARCASTER
`
`appliance, Wowza Streaming Cloud, Wowza Streaming Engine, and Wowza GoCoder.
`
`As another example, Wowza in its product documentation further specifies that its
`
`streaming services/products “can stream adaptive bitrate live and VOD H.264, AAC,
`
`and MP3 content to iOS-based devices (iPhone/iPad/iPod touch iOS version 3.0 or later),
`
`QuickTime player (version 10 or later), Safari browser (version 4.0 or later), and other
`
`devices such as the Roku and Amino set-top boxes and some brands of smart TVs using
`
`the Apple HTTP Live Streaming (Apple HLS) protocol.” See e.g.,
`
`https://www.wowza.com/docs/understanding-streaming-protocols-and-output-file-
`
`formats. Moreover, Wowza further instructs its customers how to enable the HLS
`
`protocol.
`
`
`
`16
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 17 of 66
`
`
`
`
`
`See e.g., https://www.wowza.com/docs/how-to-publish-and-play-a-live-stream-apple-hls.
`
`For similar reasons, Wowza also
`
`induces
`
`its customers
`
`to use
`
`the Accused
`
`Instrumentalities to infringe other claims of the ‘046 patent. Wowza specifically
`
`intended and was aware that these normal and customary activities would infringe the
`
`‘046 patent. Wowza performed the acts that constitute induced infringement, and would
`
`induce actual infringement, with the knowledge of the ‘046 patent and with the
`
`knowledge, or willful blindness to the probability, that the induced acts would constitute
`
`infringement. For example, since filing of this action, Wowza knows that the ordinary
`
`way of using HTTP Live Streaming—which is directed to choosing different
`
`compression techniques based on current or anticipated throughput—in the Accused
`
`Instrumentalities infringes the patent but nevertheless continues to promote HTTP Live
`
`Streaming to customers. The only reasonable inference is that Wowza specifically
`
`intends the users to infringe the patent. On information and belief, Wowza engaged in
`
`such inducement to promote the sales of the Accused Instrumentalities. Accordingly,
`
`Wowza has induced and continue to induce users of the Accused Instrumentalities to use
`
`the Accused Instrumentalities in their ordinary and customary way to infringe the ‘046
`
`
`
`17
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 18 of 66
`
`patent, knowing that such use constitutes infringement of the ‘046 patent. Accordingly,
`
`Wowza has been (as of filing of the original complaint), and currently is, inducing
`
`infringement of the ‘046 patent, in violation of 35 U.S.C. § 271(b).
`
`27. Wowza has also infringed, and continues to infringe, claims of the ‘046
`
`patent by offering to commercially distribute, commercially distributing, making, and/or
`
`importing the Accused Instrumentalities, which are used in practicing the process, or
`
`using the systems, of the ‘046 patent, and constitute a material part of the invention.
`
`Wowza knows the components in the Accused Instrumentalities to be especially made or
`
`especially adapted for use in infringement of the ‘046 patent, not a staple article, and not
`
`a commodity of commerce suitable for substantial noninfringing use. For example, the
`
`ordinary way of using HTTP Live Streaming—which is directed to choosing different
`
`compression techniques based on current or anticipated throughput—infringes the patent,
`
`and as such, is especially adapted for use in infringement. Moreover, there is no
`
`substantial noninfringing use, as HTTP Live Streaming is directed to choosing different
`
`compression techniques based on current or anticipated throughput. Accordingly,
`
`Wowza has been (as of filing of the original complaint), and currently is, contributorily
`
`infringing the ‘046 patent, in violation of 35 U.S.C. § 271(c).
`
`28.
`
`By making, using, offering for sale, selling and/or importing into the
`
`United States the Accused Instrumentalities, and touting the benefits of using the
`
`Accused Instrumentalities’ compression features, Wowza has injured Realtime and is
`
`liable to Realtime for infringement of the ‘046 patent pursuant to 35 U.S.C. § 271.
`
`29.
`
`As a result of Wowza’s infringement of the ‘046 patent, Plaintiff Realtime
`
`is entitled to monetary damages in an amount adequate to compensate for Wowza’s
`
`
`
`18
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 19 of 66
`
`infringement, but in no event less than a reasonable royalty for the use made of the
`
`invention by Wowza, together with interest and costs as fixed by the Court.
`
`COUNT II
`
`INFRINGEMENT OF U.S. PATENT NO. 8,934,535
`
`30.
`
`Plaintiff
`
`re-alleges and
`
`incorporates by
`
`reference
`
`the
`
`foregoing
`
`paragraphs, as if fully set forth herein.
`
`31.
`
`On information and belief, Wowza has made, used, offered for sale, sold
`
`and/or imported into the United States Wowza products that infringe the ‘535 patent, and
`
`continues to do so. By way of illustrative example, these infringing products include,
`
`without limitation, Wowza’s streaming products/services such as, Wowza’s
`
`CLEARCASTER appliance, Wowza Streaming Cloud, Wowza Streaming Engine, and
`
`Wowza GoCoder, and all versions and variations thereof since the issuance of the ‘535
`
`patent (“Accused Instrumentalities”).
`
`32.
`
`On information and belief, Wowza has directly infringed and continues to
`
`infringe the ‘535 patent, for example, through its own use and testing of the Accused
`
`Instrumentalities, which when used, practices the method claimed by Claim 15 of the
`
`‘535 patent, namely, a method, comprising: determining a parameter of at least a portion
`
`of a data block; selecting one or more asymmetric compressors from among a plurality of
`
`compressors based upon the determined parameter or attribute; compressing the at least
`
`the portion of the data block with the selected one or more asymmetric compressors to
`
`provide one or more compressed data blocks; and storing at least a portion of the one or
`
`more compressed data blocks. Upon information and belief, Wowza uses the Accused
`
`Instrumentalities to practice infringing methods for its own internal non-testing business
`
`
`
`19
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 20 of 66
`
`purposes, while testing the Accused Instrumentalities, and while providing technical
`
`support and repair services for the Accused Instrumentalities to Wowza’s customers.
`
`33.
`
`For example,
`
`the Accused
`
`Instrumentalities utilize H.264 video
`
`compression standard, as well as Apple’s HTTP Live Streaming (HLS) technology. As
`
`such, Wowza streaming services/products “can be configured to deliver a stream to
`
`Adobe Flash Player, Microsoft Silverlight; Apple iPhone, iPad, or iPod touch devices;
`
`DASH players, and RTSP/RTP-based players at the same time using the streaming
`
`protocols.” See e.g., https://www.wowza.com/docs/understanding-streaming-protocols-
`
`and-output-file-formats. Wowza further specifies that its streaming services/products
`
`“can stream adaptive bitrate live and VOD H.264, AAC, and MP3 content to iOS-based
`
`devices (iPhone/iPad/iPod touch iOS version 3.0 or later), QuickTime player (version 10
`
`or later), Safari browser (version 4.0 or later), and other devices such as the Roku and
`
`Amino set-top boxes and some brands of smart TVs using the Apple HTTP Live
`
`Streaming (Apple HLS) protocol.” See e.g.,
`
`https://www.wowza.com/docs/understanding-streaming-protocols-and-output-file-
`
`formats. Moreover, HLS “protocol specification does not limit the encoder selection.
`
`However, the current Apple implementation should interoperate with encoders that
`
`produce MPEG-2 Transport Streams containing H.264 video and AAC audio (HE-AAC
`
`or AAC-LC).” See, e.g.,
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html.
`
`As another example, HLS developer guide also states: “HTTP Live Streaming supports
`
`switching between streams dynamically if the available bandwidth changes. The client
`
`
`
`20
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 21 of 66
`
`software uses heuristics to determine appropriate times to switch between the alternates.
`
`Currently, these heuristics are based on recent trends in measured network throughput.”
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html.
`
`Moreover, “The current implementation of the client observes the effective bandwidth
`
`while playing a stream. If a higher-quality stream is available and the bandwidth appears
`
`sufficient to support it, the client switches to a higher quality. If a lower-quality stream is
`
`available and the current bandwidth appears insufficient to support the current stream,
`
`the client switches to a lower quality.”
`
`https://developer.Apple.com/library/content/documentation/NetworkingInternet/Concept
`
`ual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html.
`
`34.
`
`The Accused Instrumentalities determine a parameter of at least a portion
`
`of a video data block. As shown below, examples of such parameters include bitrate (or
`
`max video bitrate) and resolution parameters. Different parameters correspond with
`
`different end applications. H.264 provides for multiple different ranges of such
`
`parameters, each included in the “profiles” and “levels” defined by the H.264 standard.
`
`See http://www.axis.com/files/whitepaper/wp_h264_31669_en_0803_lo.pdf at 5:
`
`
`
`21
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 22 of 66
`
`See https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC:
`
`
`
`
`
`35.
`
`A video data block is organized by the group of pictures (GOP) structure,
`
`which is a “collection of successive pictures within a coded video stream.” See
`
`https://en.wikipedia.org/wiki/Group_of_pictures. A GOP structure can contain intra
`
`
`
`22
`
`
`
`Case 1:18-cv-00927-MJW Document 1 Filed 04/20/18 USDC Colorado Page 23 of 66
`
`coded pictures (I picture or I frame), predictive coded pictures (P picture or P frame),
`
`bipredictive coded pictures (B picture or B frame) and direct coded pictures (D picture or
`
`D frames, or DC direct coded pictures which are used only in MPEG-1 video). See
`
`https://en.wikipedia.org/wiki/Video_compression_picture_types (for descriptions of I
`
`frames, P frames and B frames); https://en.wikipedia.org/wiki/MPEG-1#D-frames (for
`
`descriptions of D frames). Thus, at least a portion of a video data block would also make
`
`up a GOP structure and could also contain I frames, P frames, B frames and/or D frames.
`
`The GOP structure also reflects the size of a video data block, and the GOP structure can
`
`be controlled and used to fine-tune other parameters (e.g. bitrate, max video bitrate and
`
`resolution parameters) or even be considered as a parameter by itself.
`
`36.
`
`Based on the bitrate and/or resolution parameter identified (e.g. bitrate,
`
`max video bitrate, resolution, GOP structure or frame type within a GOP structure), any
`
`H.264-compliant system such as the Accused Instrumentalities would determine which
`
`profile (e.g., “baseline,” “extended,” “main”, or “high”) corresponds with that parameter,
`
`then select between at least two asymmetric compressors. If baseline or extended is the
`
`corresponding profile, then the system will select a Context-Adaptive Variable Length
`
`Coding (“CAVLC”) entropy encoder. If main or high is the