throbber

`
`
`
`
`
`
`
`(12) United States Patent
`US 7,143,432 B1
`(10) Patent N0.:
`
`
`
`
`
`
`
`
`
`(45) Date of Patent:
`Nov. 28, 2006
`Brooks et al.
`
`
`
`US007143432B1
`
`
`
`(54) SYSTEM FOR TRANSFORMING
`
`
`
`STREAMING VIDEO DATA
`
`
`
`
`
`
`(75)
`
`
`
`
`
`
`
`
`Inventors: Roger K. Brooks, Palo Alto, CA (US);
`Stephen A- Molloy, Los Gatos, CA
`
`
`
`
`
`
`
`
`
`
`(US); Chi-Te Fengs Hsi Chill (TW);
`
`
`
`
`Qing Zhang, SulmyVales CA (Us);
`
`
`
`
`
`Yanda Ma, M1lp1tas, CA (US); Dave
`
`
`
`
`Singhal, San Jose, CA (US)
`
`
`
`
`
`
`
`
`
`
`(73) Assignee: Vidiator Enterprises Inc., Nassau (BS)
`
`
`
`
`
`
`
`
`( * ) Notice:
`Subject to any disclaimer, the term of this
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`U.S.C. 154(b) by 0 days.
`
`
`
`(21) Appl. No.: 09/502,409
`
`
`
`(22)
`
`
`
`Flled:
`
`
`
`
`
`
`Feb. 10’ 2000
`_
`_
`
`
`Related U'S' Application Data
`
`
`
`
`
`
`
`
`
`
`(60) Provisional application No. 60/157,468, filed on Oct.
`
`
`1; 1999,
`
`
`
`(51)
`
`
`
`(56)
`
`
`
`
`
`Int. Cl.
`
`
`
`(2006.01)
`H04N 7/173
`
`
`
`
`
`
`
`(52) US. Cl.
`...................... 725/105; 725/ 109; 725/114;
`
`
`
`
`
`725/115; 725/117; 725/118; 709/231; 709/235;
`
`
`
`
`709/203; 709/247; 37 5/240,24; 37 5/240,25;
`
`
`37 5/240,26; 370/437
`
`
`
`
`
`
`(58) Field of Classification Search ........... 375/24002,
`
`
`
`
`
`375/24024; 240.11; 240.01; 240.25; 240.26;
`
`
`
`
`370/420; 398, 437; 725/118, 105; 114; 109;
`
`
`
`
`
`
`
`725/115; 117; 709/247; 246, 231; 235; 203
`
`
`
`
`
`
`
`See application file for complete search history.
`
`
`References Cited
`US. PATENT DOCUMENTS
`
`
`
`
`
`5,619,995 A *
`
`5,671,319 A
`
`5,768,535 A
`
`5,903,775 A
`
`5,914,751 A
`
`
`............... 348/398
`4/ 1997 Lobodzinski
`
`
`
`
`9/1997 Ueda ;;;;;;;;;;;;;;;;;;;; 386/96
`
`
`
`
`6/1998 Chaddha et al.
`395/200.77
`
`
`
`
`5/1999 Murray ....................... 395/853
`
`
`
`6/l999 Korth ......................... 348/409
`
`
`
`
`
`
`
`
`
`
`
`
`.................... 709/246
`5,970,233 A * 10/1999 Liu et a1.
`
`
`
`
`
`6,011,868 A
`1/2000 van den Branden
`
`
`
`
`
`et a1.
`.......................... 382/233
`
`
`
`
`
`
`
`
`2/2000 Bhatt et a1.
`...... 348/441
`6,028,639 A
`
`7/2000 Guetz et a1.
`........... 375/240.11
`6,091,777 A *
`
`
`
`
`
`
`
`
`
`
`6,141,447 A * 10/2000 Linzer et a1.
`............... 382/236
`
`
`
`
`
`6,141,693 A
`10/2000 Perlman et a1.
`............. 709/236
`
`
`
`
`
`
`
`
`
`
`(Continued)
`
`
`
`Primary Examinerishawn S. An
`
`
`
`
`
`
`(74) Attorney, Agent, or Firmiseed IP Law Group PLLC
`
`
`
`(57)
`
`
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`According to one embodiment, a circuit configured to form
`an out ut Video stream includes a resolution modification
`
`
`
`
`
`
`
`circuitionfigured to receive a plurality ofVideo frames from
`
`
`
`
`
`
`
`
`
`
`
`
`
`a frame buffer, and configured to modify resolution of the
`
`
`
`
`
`
`
`
`plurality of Video frames, when the desired resolution for the
`
`
`
`
`
`
`
`output Video stream is different than a resolution of the input
`
`
`
`
`
`
`
`
`Video stream, the plurality of frames of data deriVed from an
`
`
`
`
`
`
`
`
`input Video stream, a frame reducing circuit coupled to the
`
`
`
`
`
`
`resolution reducing circuit configured to reduce a number of
`
`
`
`
`
`
`
`
`
`Video frames in the plurality of Video frames from the
`
`
`
`
`
`
`
`
`
`resolution reducing circuit, when a desired frame rate for the
`
`
`
`
`
`
`
`
`output Video stream is different than a frame rate of the input
`
`
`
`
`
`
`
`
`video stream, a depth reduction circuit coupled to the frame
`
`
`
`
`
`
`
`
`reducing circuit configured to reduce bit depth of the plu-
`
`
`
`
`
`
`
`
`
`rality ofVideo frames from the frame reducing circuit, when
`
`
`
`
`
`
`
`
`
`
`a desired bit depth for the output Video stream is different
`
`
`
`
`
`
`
`
`
`
`than a bit depth 0f the lan Video stream, and a rate
`
`
`
`
`
`
`
`reduction circuit coupled to the depth reduction circuit,
`
`
`
`
`
`
`
`
`
`configured to scale the plurality of Video frames from the
`
`
`
`
`
`
`
`
`depth reduction circuit, in response to a desired bit rate for
`
`
`
`
`
`
`
`
`
`the output Video stream, and an encoder coupled to the rate
`
`
`
`
`
`
`
`reduction circuit, configured to encode the plurality of Video
`
`
`
`
`
`
`
`
`
`
`frames from the rate reduction circuit into the output Video
`
`
`
`stream is also contemplated
`
`17 Claims, 8 Drawing Sheets
`
`
`
`
`
`
`
`
`5 10
`520
`530
`540
`
`/
`/
`L
`/
`
`
`
`DCT
`
`
`
`
`
`Frame Rate
`
`
`
`
`
`Color De 1h
`
`
`
`
`
`/500
`
`
`
`
`
`
`
`
`
`
`Reducer { ReduceiJ
`Cropper J subsompler
`
`
`
`
`550
`/560
`/570
`
`
`
`
`
`
`
`Encoder { Encrypior
`Control
`
`Bilrole
`
`
`
`
`MPEG—1,2,4
`
`
`
`Page 1 of 23
`
`GOOGLE EXHIBIT 1006
`
`GOOGLE EXHIBIT 1006
`
`Page 1 of 23
`
`

`

`
`
`US 7,143,432 B1
`
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`6,141,709 A
`
`
`6,160,544 A
`
`
`6336395 B1
`
`
`6,275,536 B1
`6,292,834 B1
`
`
`6,298,385 B1
`
`
`6,343,313 B1
`
`
`
`
`
`
`
`10/2000 Cutter _........................ 710/100
`
`
`
`
`
`
`12/2000 HayaShl etal'
`345/327
`
`
`
`
`
`”001 sez‘m et 31'
`““““ 345/328
`
`
`
`
`
`
`8/2001 Chen etal.
`.. 375/240.25
`9/2001 Ravi et al. ............ 709/233
`
`
`
`
`
`
`10/2001 Sparks et al.
`709/233
`.....
`
`
`
`
`
`
`1/2002 Salesky et al.
`............. 709/204
`
`
`
`
`
`
`6,398,245 B1
`
`
`6,490,627 B1
`
`
`
`
`6,505,299 B1
`
`
`6,525,746 B1
`
`6,567,986 B1*
`
`6795 863 131*
`’
`’
`
`
`
`
`
`................ 280/228
`6/2002 Gruse et al.
`
`
`
`
`.....
`12/2002 Kalra et al.
`709/231
`
`
`
`
`
`
`
`
`
`“2003 Zeng et 31.
`..
`713/160
`
`
`
`
`2/2003 Lau etal.
`345/725
`
`
`
`
`................. 725/118
`5/2003 Ward etal.
`
`
`”004 Doty Jr
`709/231
`' “““““““““““
`’
`
`
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`
`
`
`
`Page 2 of 23
`
`Page 2 of 23
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`
`Sheet 1 of 8
`
`
`
`US 7,143,432 B1
`
`
`
`SAMPLE NETWORK TOPOLOGY
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`750
`
`
`
`240
`
`
`
`
`
`
`
`I Gateway is optional; used I
`
`
`
`for archiving and/or
`
`
`
`
`further video processing.
`
`
`
`
`2,0
`
`
`
`
`
`
`
`56Kbit
`
`160x120/
`5fPS/COIOF/
`
`MPEG4
`120 E
`
`
`
`
`_
`14 4Kbps
`i 5fps/160x120/
`
`
`color/MPEG4
`
`
`Gateway
`L ————————————————————— _l
`
`
`
`
`WAP Server +
`Gateway Q
`
`
`
`’50
`
`
`
`\
`
`
`
`
`
`220
`
`
`
`230
`
`
`
`1.90
`
`
`
`
`
`10Kbit/wireless
`
`
`b/w 64‘48/
`
`
`'
`bitmap 3fps
`I ’80
`
`Cellphone/
`microbrowser/
`
`WAP
`
`
`
`
`
`
`
`
`
`
`
`730 Q.;\ I
`
`\/
`
`
`PDA, WinCE
`
`
`I40
`
`384Kbit/DSL
`
`3:23180/10fps/coi0r
`.
`
`El
`
`:
`
`
`
`
`Page 3 of 23
`
`Page 3 of 23
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`Sheet 2 of 8
`
`
`
`US 7,143,432 B1
`
`510
`
`
`
`
`
`300
`
`
`/
`
`0
`35
`
`
`
`MONITOR
`
`
`
`,
`
`.370
`
`
`
`330
`
`
`
`320
`
`
`
`
`
`
`
`
`
`
`
`
`DISK DRIVE
`
`
`
`
`
`RANDOM
`
`ACCESS
`
`MEMORY
`
`
`
`
`PROCESSOR I
`
`
`
`A l
`
`
`
`
`NETWORK
`INTERFACE
`
`
`PROCESSING
`UNIT
`
`
`
`
`KEYBOARD
`
`
`
`‘
`
`350
`
`
`
`340
`
`
`
`330
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 4 of 23
`
`Page 4 of 23
`
`

`

`893M3:28
`
`
`
`US 7,143,432 B1
`
`
`
`m6%
`
`0
`
`Mmm,
`
`3mhS
`
`v.RV
`
`
`
`V580EomtmV388:9;
`
`3.28.282
`
`QMU
`
`
`
`
`
`:55men:_mL06EV\\nm‘"
`
`Na:_
`
`EmEoomm:
`
`53.5
`
`$5.253
`
`82>uEEogm
`
`
`
`
`
`
`
`
`
`Page 5 of 23
`
`Page 5 of 23
`
`
`
`

`

`
`
`nma
`
`P8m\\
`
`
`
`t3m.3%awnSm,
`
`N
`
`m2
`
`u
`
`
`
`US 7,143,432 B1
`
`may§§an
`
`.228m53:052.78%225
`
`$305
`
`w“2%
`
`
`
`
`
`8,$2.3m$0331SEEomnam538m£30ES20m9:9:BoVo
`
`QMU
`
`
`
`
`
`
`
`
`
`Page 6 of 23
`
`Page 6 of 23
`
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`Sheet 5 of 8
`
`
`
`US 7,143,432 B1
`
`
`
` REQUEST VIDEO DATA FROM
`
`
`
`
`
` 600
`
`
`
`A VIDEO SOURCE
`
`
`
`
`
`
`
`
`
`
`DETERMINE BANDWIDTH
`
`
`
`6/0
`LIMITATIONS AND FORMAT
`
`
`REQUIREMENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` VIDEO SOURCE
`
`
`
`
`
`
`CAN PROVIDE
`
`
`VIDEO?
`
`
`
`
`N0
`
`
`
`
`
`
`
`
`REDIRECT REQUEST TO A
`
`
`GATEWAY COMPUTER
`
`
`
`
`
`
`
`DETERMINE BANDWIDTH
`
`
`
`LIMITATIONS AND FORMAT
`
`REQUIREMENTS
`
`
`
`
`
`
`
`
`
`
`
` GATEWAY CAN
`
`
`
`
`PROVIDE VIDEO?
`
`
`
`
` COMMUNICATE WITH VIDEO
`
`
`
`
`
`SOURCE TO OBTAIN INPUT
`
`
`VIDEO DATA
`
`
`
`
`560
`
`
`
`
`FIG. 5A
`
`
`
`Page 7 of 23
`
`Page 7 of 23
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`Sheet 6 of 8
`
`
`
`US 7,143,432 B1
`
`
`
`
`BUFFER INPUT VIDEO DATA
`
`
`
`
`
`
`
`
`
`TRANSCODE INPUT VIDEO
`
`
`
`DATA TO THE DESIRED
`
`
`OUTPUT VIDEO
`
`
`
`FORMAT INTO TCP/IP
`
`PACKETS
`
`
`
`670
`
`580
`
`590
`
`700
`
`
`
`
`
`
`
`
`
`IN FRAME BUFFER
`
`
`
`
`720
`
`
`
`
`
`
`
`
`
`
`
`
`SEND TCP/IP PACKETS To
`
`
`THE REQUESTER
`
`
`
`DECODE TCP/IP PACKETS
`TO RECOVER VIDEO DATA
`
`
`
`
`STREAM
`
`
`
`
`
`
`
`DECOMPRESS/PLAY VIDEO
`
`
`DATA STREAM
`
`
`
`7 ’0
`
`
`
`
`
`
`
`FIG. 58
`
`Page 8 of 23
`
`Page 8 of 23
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`Sheet 7 of 8
`
`
`
`US 7,143,432 B1
`
`
`
`
`INPUT VIDEO DATA STORED
`
`
`
`IN FRAME BUFFER
`
`
`
`
`
`
`CROP INPUT VIDEO DATA
`
`
`
`500
`
`
`
`IN>0UT
`
`8/0
`
`
` INPUT COLOR
`
`
`
`
`
`DEPTH COMPARED
`
`
`
`
`
`TO OUTPUT COLOR
`
`
`DEPTH
`
`OUT>IN
`
`
`
`
`
`820
`
`
`
`
`
`DOWNSCALE COLOR DEPTH
`
`
`
`
`OF INPUT VIDEO DATA
`
`
`
`
`
`
`UPSCALE COLOR DEPTH OF
`
`
`
`INPUT VIDEO DATA
`
`
`
`830
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` INPUT RESOLUTION
`
`OUT>IN
`IN>0UT
`
`
`COMPARED TO OUTPUT
`
`
`
`RESOLUTION
`
`
`840
`
`
`
`
`
`850
`
`
`
`
`
`DOWNSCALE RESOLUTION
`
`
`
`
`OF INPUT VIDEO DATA
`
`
`
`UPSCALE RESOLUTION OF
`
`
`
`INPUT VIDEO DATA
`
`
`
`860
`
`
`
`
`
`
`
`
`
`
`870
`
` INPUT FRAM
`
`
`
`
`IN>0UT
`
`
`RATE COMPARED
`
`
`
`TO OUTPUT FRAME
`
`
`RATE
`
`
`
`
`0UT>IN
`
`
`
`880
`
`
`
`
`
`
`REDUCE FRAME RATE OF
`
`
`
`INPUT VIDEO DATA
`
`
`
`
`
`
`INCREASE FRAME RATE OF
`
`
`
`INPUT VIDEO DATA
`
`
`
`890
`
`
`
`FIG.
`
`
`
`6A
`
`
`
`Page 9 of 23
`
`Page 9 of 23
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Nov. 28, 2006
`
`
`
`
`Sheet 8 of 8
`
`
`
`US 7,143,432 B1
`
`
`”MI”
`
`
`
`900
`
`INPUT BIT RAT
`
`
`
`OUT>IN
`
`COMPARED TO
`
`OUTPUT BIT RATE
`
`
`
`
`
`
`
`
`
`
`.920
`
`
`
`
`ENCODING
`FORMAT?
`
`
`QUICKTIME
`
`
`
`
`
` DECREASE BIT RATE OF
`DECREASE BIT RATE OF
`
`
`
`
`
`
`
`
`
`
`INPUT VIDEO DATA
`INPUT VIDEO DATA
`
`
`
`
`
`
`
`
`
`
`
`ENCODE INPUT DATA
`ENCODE INPUT DATA
`
`
`
`
`
`
`
`
`STREAM INTO *.MPG
`STREAM INTO *.MOV
`
`
`
`
`
`
`
`
`FORMAT
`FORMAT
`
`
`
`
`
`
`
`
`
`
`
`
`
`9/0
`
`940
`
`Page 10 of 23
`
`
`
`
`
`
`
`
`
`ENCODE INPUT DATA
`
`
`
`STREAM INTO *.AV|
`
`
`
`FORMAT
`
`
`
`
`
`
`ENCRYPT DATA STREAM
`
`
`
`
`
`
`
`FIG.
`
`
`
`615’
`
`
`
`Page 10 of 23
`
`

`

`
`
`US 7,143,432 B1
`
`2
`
`1
`
`SYSTEM FOR TRANSFORMING
`
`STREAMING VIDEO DATA
`
`
`
`
`
`
`
`CROSS-REFERENCES TO RELATED
`
`APPLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention disclosure claims priority to Pro-
`
`
`
`
`
`
`
`
`visional US. patent application Ser. No. 60/157,468, filed
`Oct. 1, 1999, entitled Internet Camera Video Producer. This
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`application is herein by incorporated by reference for all
`purposes.
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention relates to devices for providing
`
`
`
`
`
`
`media across a computer network. In particular, the present
`
`
`
`
`
`
`
`invention relates to systems configured to adapt
`input
`
`
`
`
`
`
`
`streams of video data to meet desired parameters for output
`streams of video data.
`
`
`
`
`
`
`
`
`
`
`
`The legend of the Tower of Babel tells us that humans
`
`
`
`
`
`
`
`once spoke a common language. However, divine interven-
`
`
`
`
`
`
`
`
`tion soon foiled human’s plans in the building of the tower
`
`
`
`
`
`
`
`
`
`to the sky. This was done by making humans speak in
`
`
`
`
`
`
`
`
`different languages. As a result, the legend goes, humans did
`not understand each other, humans misunderstood others’
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`intentions, and ultimately humans moved away from each
`other. Ever since that day, humans have been benefited and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`plagued by language and cultural differences.
`
`
`
`
`
`
`
`Translating between different languages has also been an
`
`
`
`
`
`
`
`
`issue considered in popular fiction.
`In Douglas Adam’s
`
`
`
`
`
`
`
`well-known Hitchhiker’s Guide to the Galaxy (1979), the
`
`
`
`
`
`
`
`problem of different languages was solved by the introduc-
`tion of a “Babel fish.” Adams described the Babel fish as a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“small, yellow and leechlike, and probably the oddest thing
`in the Universe. It feeds on the brainwave energy received
`
`
`
`
`
`
`
`
`not from its own carrier but from those around it. It absorbs
`
`
`
`
`
`
`
`
`
`
`all unconscious mental frequencies from this brainwave
`
`
`
`
`
`
`
`energy to nourish itself with. It then excretes into the mind
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of its carrier a telepathic matrix formed by combining the
`
`
`
`
`
`
`
`conscious thought frequencies with nerve signals picked up
`
`
`
`
`
`
`
`
`
`
`from the speech centers of the brain which has supplied
`
`
`
`
`
`
`
`
`them. The practical upshot of all this is that if you stick a
`
`
`
`
`
`
`
`
`
`Babel fish in your ear you can instantly understand anything
`
`
`
`
`
`
`
`
`said to you in any form of language.” While this, of course,
`may not really exist, a commercial translation service has
`
`
`
`
`
`
`
`actually been named after the Babel fish.
`
`
`
`
`
`
`
`On the Internet, Altavista.com provides a translation
`
`
`
`
`
`
`service that translates text in a web page from one selected
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`language to another selected language. The tool is called the
`“Babel fish.” To use this tool, the user enters a web address
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and then specifies the language direction, e.g. English to
`French. In response, the Babel fish will translate the text that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`appears on the page into the new language, all other aspects
`
`
`
`
`
`
`
`
`
`
`
`of the page will remain the same. The quality of the
`
`
`
`
`
`
`
`
`translations may vary with actual usage. For example,
`
`
`
`
`
`
`
`
`
`translating the phrase “To jump the gun” to French and back
`
`
`
`
`
`
`
`
`
`
`
`into English returns the phrase “To connect the gun.” As can
`be seen, the quality of such services are not quite ideal.
`
`
`
`
`
`
`
`
`
`
`
`Further, such services do not address non-text data such as
`
`
`
`
`
`
`
`
`audio and visual (media) data.
`
`
`
`
`
`On the web, other types of data than text are also
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`displayed to users. Such data include media such as images,
`sounds, video, and the like. With such data, instead of being
`
`
`
`
`
`
`
`
`
`
`in different languages, the data are stored and transmitted
`
`
`
`
`
`
`
`
`
`into different formats. Most of the different media formats
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`are incompatible. Currently, there are a multitude of stan-
`
`
`
`
`
`
`
`
`
`dards or formats for each of them, for example, images may
`
`10
`
`
`
`15
`
`
`
`20
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`Page 11 of 23
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be transmitted in formats including *.jpg, *.gif, *.bmp,
`
`
`
`
`
`
`
`*.pcx, and the like; sounds may be transmitted in formats
`
`
`
`
`
`
`
`
`
`including *.wav, *.mp3, *.aiff, and the like; and video may
`
`
`
`
`
`
`
`be transmitted in formats including *.avi, *.mov, *.rm,
`
`
`
`
`
`
`*.mpg, *.asf, vivo and the like.
`To view or hear data in any of the above media formats
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`requires an appropriate viewing (translation) application
`
`
`
`
`
`
`
`program. That is, an application program is required to
`
`
`
`
`
`
`
`
`
`
`decode the transmitted data and output
`the data to the
`
`
`
`
`
`
`
`computer of the requester. The requesting computer must
`
`
`
`
`
`
`
`have preinstalled many different viewer applications. This is
`
`
`
`
`
`
`
`
`
`
`so that the computer can receive, decode, and display data
`
`
`
`
`
`
`stored in the many different media formats.
`
`
`
`
`
`
`
`One drawback to requiring multiple viewers is that this
`
`
`
`
`
`
`
`
`solution is not appropriate for all devices connected to the
`
`
`
`
`
`
`
`
`web. In particular, it is not appropriate for future wireless
`devices, or the like. Such devices may include cellular
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`telephones, wireless PDAs, network appliances (refrigera-
`tors, toasters, ovens, smart houses), wrist watches, wearable
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`computers, and the like. Because many of these devices will
`
`
`
`
`
`
`
`have lower amounts of memory and performance compared
`
`
`
`
`
`
`
`
`
`to desktop computers,
`these devices will not be able to
`
`
`
`
`
`
`
`display a large number of viewers. As a result, these devices
`
`
`
`
`
`
`
`
`will not be able to play many different media formats.
`
`
`
`
`
`
`
`
`One solution proposed to address this problem has been to
`
`
`
`
`
`
`
`
`standardize upon one particular format. For example, all
`wireless devices in the future would be able to receive and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`output data stored in one particular media format, such as
`
`
`
`
`
`
`
`MPEG-4 (Motion Pictures Expert Group), or the like.
`A drawback to this solution is that in theory, this solution
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is reasonable, however, in practice, it is not likely to happen.
`
`
`
`
`
`
`
`
`
`The primary reason is that there are many competing media
`
`
`
`
`
`
`
`
`formats available, and most are backed by separate compa-
`
`
`
`
`
`
`
`
`
`nies. For example, Windows pushes the *avi media format,
`
`
`
`
`
`
`
`
`Apple pushes the *.mov media format, Real Networks
`
`
`
`
`
`
`
`
`
`pushes the *.rm format, Vivo Software pushes its own
`format, and the like. It is doubtful that such companies will
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`agree on a single media format.
`Another drawback is that even if there is one standardized
`
`
`
`
`
`
`
`media format, different requesting devices will have differ-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ent performance, resolutions, bandwidth, and the like. For
`
`
`
`
`
`
`
`
`example, a PDA may have the ability to display 80x60 pixel
`24-bit color images, however a wrist watch may have the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ability to display only 40x30 pixel 8-bit gray scale images,
`and the like. Because many future wireless network devices
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`or appliances will have different performance, bandwidth,
`and the like, the source of the media will have to store the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`data in just as many data files. For example, if there are 100
`
`
`
`
`
`
`
`
`different telephones with web access, each telephone with its
`
`
`
`
`
`
`
`
`
`own performance, bandwidth factors, and the like, to sup-
`
`
`
`
`
`
`
`
`
`
`port all these telephones the media source will have to store
`the data in 100 different data files. This is highly inefficient
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and/or impractical to implement, not to mention impossible
`for live data.
`
`
`
`
`
`
`
`
`
`
`
`Typically, media sources, such as web sites, provide only
`
`
`
`
`
`
`
`
`a limited number of media formats and performance char-
`
`
`
`
`
`
`
`
`acteristics. For example, a typical site may only offer a
`media clip in the Quicktime format at 320x240 resolution or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`160x120 resolution. If a requesting device cannot process
`Quicktime format,
`the user is out of luck. As another
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`example, if the requesting device can only play 80x60
`resolution Quicktime movies, the media source is wasting its
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`output bandwidth sending the requesting device 160x120
`resolution Quicktime movies.
`
`
`
`
`Page 11 of 23
`
`

`

`
`
`US 7,143,432 B1
`
`4
`
`
`
`
`3
`
`
`
`
`
`
`
`Thus what is needed in the industry are improved systems
`
`
`
`
`
`
`
`for providing requesting devices with media in the format
`
`
`
`
`
`
`and performance appropriate and/or requested for these
`
`
`requesting devices.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention relates to systems for transcoding
`
`
`
`
`
`
`
`
`and transforming video streams. In particular, the present
`
`
`
`
`
`
`
`invention relates to apparatus for adapting input streams of
`
`
`
`
`
`
`
`
`video data to meet desired parameters for output streams of
`
`
`
`
`
`
`
`
`video data. On the fly adaptation to desired output param-
`
`
`
`
`
`
`
`
`
`eters may be made with respect to display size, frame rate,
`
`
`
`
`
`
`
`
`bit-depth, bit rate, encoding format, and the like.
`
`
`
`
`
`According to one embodiment, a circuit configured to
`
`
`
`
`
`
`
`form an output video stream includes a resolution modifi-
`
`
`
`
`
`
`
`cation circuit configured to receive a plurality of video
`
`
`
`
`
`
`
`
`frames from a frame buffer, and configured to modify
`
`
`
`
`
`
`resolution of the plurality of video frames, when the desired
`
`
`
`
`
`
`
`
`resolution for the output video stream is different than a
`
`
`
`
`
`
`
`resolution of the input video stream, the plurality of frames
`of data derived from an input video stream, and a frame
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`reducing circuit coupled to the resolution reducing circuit
`
`
`
`
`
`
`
`configured to reduce a number of video frames in the
`
`
`
`
`
`
`
`
`plurality of video frames from the resolution reducing
`
`
`
`
`
`
`
`
`
`
`circuit, when a desired frame rate for the output video stream
`is different than a frame rate of the input video stream. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`circuit also includes a depth reduction circuit coupled to the
`
`
`
`
`
`
`
`frame reducing circuit configured to reduce bit depth of the
`
`
`
`
`
`
`
`
`
`plurality of video frames from the frame reducing circuit,
`
`
`
`
`
`
`
`
`
`when a desired bit depth for the output video stream is
`
`
`
`
`
`
`
`
`different than a bit depth of the input video stream, and a rate
`
`
`
`
`
`
`
`reduction circuit coupled to the depth reduction circuit,
`
`
`
`
`
`
`
`
`
`configured to scale the plurality of video frames from the
`
`
`
`
`
`
`
`
`depth reduction circuit, in response to a desired bit rate for
`
`
`
`
`
`
`
`
`
`the output video stream. An encoder coupled to the rate
`
`
`
`
`
`
`
`reduction circuit, configured to encode the plurality of video
`frames from the rate reduction circuit into the output video
`
`
`
`
`
`
`
`
`
`
`
`
`
`stream is also contemplated.
`
`
`
`
`
`
`According to another embodiment, a circuit for reducing
`
`
`
`
`
`
`bandwidth of an incoming video stream includes a cropping
`
`
`
`
`
`
`
`portion configured to receive a first video frame, a second
`video frame, and a third video frame from a frame buffer,
`
`
`
`
`
`
`
`
`
`and configured to determine the resolution of the first video
`
`
`
`
`
`
`
`frame, the second video frame, and the third video frame, the
`
`
`
`
`
`
`
`
`
`
`first video frame, the second video frame, and the third video
`
`
`
`
`
`
`
`
`
`
`frame derived from the incoming video stream, and a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`sampling portion coupled to the cropping portion, config-
`
`
`
`
`
`
`
`ured to receive a desired output resolution, and configured to
`subsample the first video frame, the second video frame, and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the third video frame to respectively form a first sampled
`video frame, a second sampled video frame, and a third
`
`
`
`
`
`
`
`
`sampled video frame. The circuit may also include a frame
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`rate reducing portion coupled to the sampling portion,
`
`
`
`
`
`
`
`
`configured to receive a desired output frame rate, and
`
`
`
`
`
`
`
`
`configured to drop the second sampled video frame, and a
`
`
`
`
`
`
`
`
`depth reducing portion coupled to the frame rate reducing
`
`
`
`
`
`
`
`portion, configured to receive a desired output bit-depth, and
`
`
`
`
`
`
`
`
`configured to reduce bit depth of the first sampled video
`
`
`
`
`
`
`
`
`frame and the third sampled video frame to respectively
`form a first reduced video frame and a third reduced video
`
`
`
`
`
`
`
`
`
`frame.
`
`
`
`
`
`
`
`for
`According to yet another embodiment, a circuit
`
`
`
`
`
`
`dynamically reducing bandwidth of an input video stream to
`
`
`
`
`
`
`
`meet bandwidth requirements for an output video stream
`
`
`
`
`
`
`includes a receiving portion configured to receive frames of
`
`
`
`
`
`
`
`
`data derived from the input video stream, a processing
`
`10
`
`
`
`15
`
`
`
`20
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`Page 12 of 23
`
`
`
`
`
`
`
`
`
`portion coupled to the receiving portion, configured to
`
`
`
`
`
`
`
`receive a bandwidth requirement
`for the output video
`
`
`
`
`
`
`
`stream, and configured to reduce bandwidth used by the
`
`
`
`
`
`
`frames of data in response to the bandwidth requirement to
`
`
`
`
`
`
`
`form bandwidth reduced frames of data, and an encoding
`
`
`
`
`
`
`portion coupled to the processing portion, configured to
`
`
`
`
`
`
`
`
`
`receive an encoding format for the output video stream, and
`
`
`
`
`
`
`configured to encode bandwidth reduced frames of data to
`
`
`
`
`
`form the output video stream.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`A more complete appreciation of the invention and many
`
`
`
`
`
`
`of the attendant advantages thereof will be readily obtained
`as the same becomes better understood by reference to the
`
`
`
`
`
`
`
`
`
`
`
`
`following detailed description when considered in connec-
`
`
`
`
`
`
`tion with the accompanying drawings, wherein:
`
`
`
`
`
`
`FIG. 1 illustrates a block diagram of a usage scenario
`
`
`
`
`
`according to an embodiment of the present invention;
`
`
`
`
`
`FIG. 2 is a block diagram of a typical gateway computer
`
`
`
`
`
`and its interface to client computers according to an embodi-
`
`
`
`
`ment of the present invention;
`
`
`
`
`
`FIG. 3 illustrates a block diagram of an embodiment of
`
`
`
`the present invention;
`
`
`
`
`
`
`FIG. 4 illustrates a block diagram of a transcoding com-
`
`
`
`
`
`pound according to an embodiment of the present invention;
`
`
`
`
`
`
`FIGS. 5A and 5B illustrates an overview flow diagram
`
`
`
`
`
`
`according to an embodiment of the present invention; and
`FIGS. 6A and 6B illustrates a more detailed embodiment
`
`
`
`
`
`
`
`
`
`of the present invention.
`DESCRIPTION OF THE SPECIFIC
`
`
`EMBODIMENTS
`
`
`
`
`
`
`
`
`
`
`
`FIG. 1 illustrates a block diagram according to an embodi-
`
`
`
`
`
`
`ment of the present invention. FIG. 1 illustrates a gateway
`
`
`
`
`
`
`
`computer 100, and plurality of computer systems 1107150
`
`
`
`
`
`
`
`
`coupled to each other via a computer network 160. In the
`
`
`
`
`
`
`present embodiment, a video camera 170 is coupled to
`
`
`
`
`
`
`
`computer system 110, and a network appliance 180 is
`
`
`
`
`
`
`
`
`coupled via a wireless network 190 to computer system 150.
`
`
`
`
`
`
`
`Computer systems 1107150 are coupled to computer net-
`work 160 via network connections 2007240.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In the present embodiment, computer network 160 is the
`Internet. In alternative embodiments of the present inven-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion, computer network 160 may be any computer network,
`such as an intranet, a computer network, a local area
`
`
`
`
`
`
`
`
`network, an intemet, and the like. Computer network 160
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`provides data communication among computer systems
`
`
`
`
`
`
`
`1107150 and gateway computer 100. Data communication
`may include transfer of HTML based data, textual data, form
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`submissions, plug-in programs or viewers, applets, audio
`
`
`
`
`
`
`
`
`
`data, video data, and the like. Although computer network
`
`
`
`
`
`
`
`
`
`160 is illustrated as a single entity, as is the case with the
`Internet, it should be understood that computer network 160
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`may actually be a network of individual computers and
`servers.
`
`
`In the present embodiment, network connections 1907240
`
`
`
`
`
`
`
`have typical maximum bandwidth characteristics that are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`known a priori. In FIG. 1, for example, network connection
`
`
`
`
`
`
`
`
`200 is shown as a 1.5 mega bit per second (Mbps) TI
`correction, as is common with businesses; network connec-
`
`
`
`
`
`
`tion 210 is shown as a 56 kilobit per second (kbps) connec-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tion as is common with home computers, set top boxes, and
`the like; network connection 220 is shown as a 14.4 kbit
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(kbps) connection to personal digital assistants (PDAs), such
`as PalmOS devices, WindowsCE devices, and the like. In
`
`
`
`
`
`
`
`
`
`
`Page 12 of 23
`
`

`

`
`
`US 7,143,432 B1
`
`5
`
`
`
`
`
`
`
`
`this example, network connection 230 is shown as a 384
`
`
`
`
`
`
`
`kbps digital subscriber line (DSL) connection as is common
`
`
`
`
`
`
`
`with small businesses or power users. In alternative embodi-
`
`
`
`
`
`
`
`ments, network connection 230 may be smaller or greater
`
`
`
`
`
`
`
`
`
`than 384 kbps, for example 1 mbps downstream and 500
`
`
`
`
`
`
`
`kbps upstream, or the like. In embodiments of the present
`
`
`
`
`
`
`
`
`invention, other speeds of network connections are envi-
`
`
`
`
`
`
`
`sioned. Further,
`in practice, many network connection
`
`
`
`
`
`
`
`
`
`speeds may vary greatly with network traffic, time of day,
`and the like.
`
`
`
`In FIG. 1, network connection 190 is shown as a 10 kbps
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`connection as is currently planned for typical network
`
`
`
`
`
`
`
`
`
`appliances. The connection rate may vary, and may increase
`
`
`
`
`
`
`
`in alternative embodiments of the present invention. For
`
`
`
`
`
`example, alternative embodiments of network appliances
`
`
`
`
`
`
`
`
`may include wireless modems that may range in speeds of
`
`
`
`
`
`
`
`
`
`
`up to 128 kbps, or the like. It is believed that slower rates
`
`
`
`
`
`
`
`may be more widely utilized in typical network appliances
`
`
`
`
`
`
`
`to keep the cost of such appliances down.
`
`
`
`
`
`
`
`
`In the present embodiment, computer systems 110, 120,
`
`
`
`
`
`
`
`
`140, and 150 are embodied as typical personal computers
`
`
`
`
`
`
`
`
`such as those available from companies such as HP, Com-
`
`
`
`
`
`
`
`
`
`
`paq, IBM, and the like. Such personal computers are typi-
`
`
`
`
`
`
`
`cally powered by microprocessors such as the Athlon pro-
`
`
`
`
`
`
`
`cessor available from AMD and include operating systems
`such as Windows98 from Microsoft. In alternative embodi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ments, other personal computers such as those available
`
`
`
`
`
`
`
`
`from Apple or Dell, may also be used. Computer systems
`
`
`
`
`
`
`
`
`110 and 140 are typically desktop computers. Computer
`
`
`
`
`
`
`
`system 120 may be a desktop computer, a laptop computer,
`a television set top box, such as from WebTV Networks,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`game consoles such as the Dreamcast, a network computer,
`
`
`
`
`
`
`
`or other types of units incorporating processors, microcon-
`trollers, ASICs, and the like.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Computing systems 110, 120, 140, and 150 are typically
`connected to computer network 160 via local area networks,
`
`
`
`
`
`
`
`
`via dial-up modems, ISDN, DSL, cable modems, satellite
`
`
`
`
`
`
`
`
`modems, or the like.
`
`
`
`
`
`
`
`
`
`
`
`In the present embodiment, computer system 130 typi-
`
`
`
`
`
`
`
`cally includes PDAs or other portable computing platforms.
`
`
`
`
`
`
`
`
`Such PDAs may operate on a variety of operating system
`
`
`
`
`
`
`
`platforms including PalmOS, WindowsCE, or the like. Fur-
`
`
`
`
`
`
`
`
`ther, such PDAs operate on a variety of processors. Such
`
`
`
`
`
`
`
`
`devices are typically coupled to computer network 160 via
`telephone lines, or other wire-based network connections.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In the present embodiment, network appliance 180 may
`
`
`
`
`
`
`include wireless telephones including cellular technology,
`
`
`
`
`
`
`CDMA, TDMA, and other technologies. In other examples,
`
`
`
`
`
`
`
`network appliances may include kiosks, wrist watches,
`
`
`
`
`
`
`pocket or portable displays or terminals, wearable comput-
`
`
`
`
`
`
`
`ers, retinal implants, surveillance equipment, kitchen appli-
`ances, and the like.
`
`
`
`
`
`
`
`
`
`
`
`These devices are typically coupled to computer network
`
`
`
`
`
`
`
`
`
`160 via computing system 150 and wireless network 190. In
`
`
`
`
`
`
`one embodiment of the present invention, computing system
`
`
`
`
`
`
`
`150 is a wireless application protocol server (WAP) that
`
`
`
`
`
`
`
`
`
`provides data to and from network appliance 180 in the WAP
`format. In alternative embodiments, other standard and/or
`
`
`
`
`
`
`
`
`
`
`
`
`proprietary formats may also be used.
`
`
`
`
`
`
`
`In the present embodiment, computer systems 1207140
`
`
`
`
`
`
`
`
`and network appliance 180 include application software that
`communicates using the HTTP, TCP/IP, and/or RTP/RTSP
`
`
`
`
`
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket