throbber

`
`
`
`
`
`
`
`(12) United States Patent
`US 6,557,001 B1
`(10) Patent N0.:
`
`
`
`
`
`
`
`Dvir et al.
`
`(45) Date of Patent: Apr. 29, 2003
`
`USOO6557001B1
`
`
`
`
`
`(56)
`
`
`
`
`
`
`
`
`(54) METHOD FOR ENHANCING VIDEO
`COMPRESSION THROUGH AUTOMATIC
`
`
`
`DATA ANALYSIS AND PROFILE SELECTION
`
`
`
`
`
`
`
`
`
`(75)
`
`
`
`
`
`
`
`
`Inventors: Ira Dvir, Tel AViV (IL); Y0av Medan,
`
`
`Haifa (IL)
`
`
`
`
`( * ) Notice:
`
`
`
`
`
`
`
`
`
`(73) Assignee: Moonlight Cordless Ltd., Ramat Gan
`(IL)
`
`
`
`
`
`
`
`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. N05 09/438,500
`
`
`
`
`Filed:
`NOV_ 12 1999
`(22)
`’
`
`
`
`Related US. Application Data
`
`
`
`
`
`(63)
`
`
`
`
`
`
`
`
`
`
`Continuation—in—part of application No. 09/197,441, filed on
`
`
`
`Nov. 23, 1998.
`
`
`
`
`
`(51)
`G06F 17/30
`Int Cl 7
`(52)
`707/101
`................................................
`.
`.
`
`
`
`
`
`
`
`"""""""""""
`
`
`
`
`(58) Field of Search ......................... 707/3, 101, 104.1,
`
`
`
`
`
`707/500, 5001; 370/465; 375/240; 345/502,
`723; 709/200, 217, 231
`
`
`
`
`
`
`
`
`
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`................. 345/723
`5,706,290 A *
`1/1998 Shaw et al.
`
`
`
`
`
`
`
`
`
`
`
`2,3233%) :1 *
`3:111 --~~~~~1~~~~~~~~~~~~~ 7037432445
`3/388;
`
`
`
`
`
`
`aw et a .
`.................
`*
`,
`,
`
`
`
`* cited by examiner
`
`
`
`Primary Examiner—Diane D. Mizrahi
`Assistant Examiner—Apu Mofiz
`
`
`
`
`
`
`
`
`
`(74) Attorney, Agent, or Fer—G. E' EhrhCh Ltd'
`
`
`(57)
`ABSTRACT
`
`
`
`
`
`
`
`
`
`A system and method for rapid Video data compression and
`
`
`
`
`
`
`
`transmission for a Wireless remote monitor. The compres-
`
`
`
`
`
`
`
`
`sion method is adjusted according to the type of software
`
`
`
`
`
`
`
`
`application which generated the Video data, and according to
`
`
`
`
`
`
`
`
`
`the characteristics of the data itself. Preferably, the type and
`
`
`
`
`
`
`
`profile of Video data compression is selected by a profile
`
`
`
`
`
`
`
`
`manager, which detects the characteristics of the Video data
`
`
`
`
`
`
`
`
`
`to determine the character of the data, and then which selects
`
`
`
`
`
`
`
`
`the Video data compression method and profile according to
`
`
`
`
`
`
`
`
`the Video data character. The compression method and
`system may be used with a device for remotely displaying
`
`
`
`
`
`
`
`information from a monitor of a main computer and for
`
`
`
`
`
`
`
`d full
`th
`t
`1
`t
`11.
`~
`t
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mm c y an
`y co“ m mg
`6 mm comp“ er‘
`26 Claims, 5 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Video display card
`
`38
`
`
`AN Mpeg
`interface
`
`
`
`
`converter
`
`
`
`
`
`Digital sound to
`
`USB/Firewire
`
`
`output software
`
`60
`
`
`
`USB/Firewire in/out
`
`46
`
`
`Mpeg Encoder
`
`Software or
`
`Hardware
`42
`
`
`
`
`
`
`
`
`Mpeg to RF
`
`
`interface 48
`
`
`
`ISM Band
`
`transceiver50
`
`
`
`
`Internal implementation
`
`
`
`Page 1 0f 12
`
`GOOGLE EXHIBIT 1014
`
`GOOGLE EXHIBIT 1014
`
`Page 1 of 12
`
`

`

`
`US. Patent
`
`
`
`
`
`Apr. 29, 2003
`
`
`
`
`
`Sheet 1 0f5
`
`
`
`US 6,557,001 B1
`
`
`"Fl“:
`
`
`
`
`
`Compression
`
`Profile
`Manager
`
`
`
`
`
`
`Fig. 1a
`
`
`
`
`Sample rasters
`
`(step 1)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`determine at least one
`
`
`parameter (step 2)
`
`
`
`
`
`match parameter to
`
`
`profile (step 3)
`
`
`
`
`
`compress data (step 4) Fig. 1b
`
`11
`
`
`
`
`
`
`
`Page 2 of 12
`
`Page 2 of 12
`
`

`

`
`US. Patent
`
`
`
`
`
`Apr. 29, 2003
`
`
`
`
`Sheet 2 0f 5
`
`
`
`US 6,557,001 B1
`
`
`
`
`0m
`
`Exoom8058mm
`
`“mxoowSo95
`
`5_u,_aE<
`
`ucsom
`
`N.9“.
`
`32.960
`
`xc___mcmn=>>
`
`
`
`.mcma“ME
`
`>mam5
`
`$38:aom
`
`Eanae
`
`::3
`
`$880
`
`085.
`
`momtBE
`
`@092B“E
`
`Ezoowcm:
`
`Ucmm_>_w_
`
`
`
`._®>_w0m:m.5
`
`mmE05“—
`
`Page 3 of 12
`
`Page 3 of 12
`
`
`

`

`
`US. Patent
`
`
`
`
`
`Apr. 29, 2003
`
`
`
`
`Sheet 3 0f 5
`
`
`
`US 6,557,001 B1
`
`
`
`52:22
`
`
`0mwv
`
`$289.9“oothE
`
`2mm2m.”E9m8:
`
`mv
`
`SEE235:“:me
`
`
`
`coszmEmag.meE.8.9”.
`
`
`
`Evoocmmoms.
`
`LoEmitom
`
`
`
`NvEmBEmI
`
`om
`
`
`
`23955992:8EBB
`
`Emzfiow5930
`
`
`
`
`
`$tm>coo
`<58:26
`Ii.$0855
`82>mags.>2
`
`
`Emu>m_am_c82>
`
`mm
`
`Page 4 of 12
`
`Page 4 of 12
`
`

`

`U
`
`US 6,557,001 B1
`
` tBEBE9:Bmime595::mEmmm__m:m_m82>9:.BEBEFmoBEBEmvets-r255.P\ab”Nm
`
`on
`
`
`
`
`
`329:5-N255.
`
`r.:o_mB>cooDZ05my8Emmw_.96689>9:.$38mczowccooEq9‘
`
`
`mA.58355930mwmm.89>mo_m:m£5,Emuw,33%82>
`
`
`
`
`
`
`mv83.95
`
`NV
`
`
`e9:59.%BZwomcm:mmBmwmB9585:90
`
`
`EEEEmm:5n.59:0omMBuoocmowns.958mBEBm59:0mom.965
`
`
`
`
`8525£22“:me
`
`hm
`
`
`
`coszmEoEEmommo_mc<BEExm
`
`gm.9“.
`
`Page 5 of 12
`
`Page 5 of 12
`
`
`
`
`
`
`

`

`
`
`5mvwomtBE
`
`
`
`fommq:Q:oo“Eg_>_Enoocm085.View
`
`NV
`
`mm
`
`om.9“.
`
`
`
`:oszoEmEEH>Q65me
`
`
`
`ow
`
`ESEEEEEEm:
`
`5
`
`US 6,557,001 B1
`
`3A.
`
`S.U
`
`P
`
`0m.
`
`m“.823-r$22
`
`.E\
`
`
`
`tBEBEwe.9$585:95mEmmm__mcm_m82>mg...DnEwomtSE82>6290
`
`
`
`wLommeEoo03205MameMr9“com26.58ow2>9FmczomMW/Mow“@me“My“
`mmo_m:_>>-N30.2.
`
`aE65mom02262“.SEZmOmcmbNo5mm:
`
`
`om
`
`52:22
`
`mm825:82>
`
`5565;)28
`
`53%82>
`
`239$me2958555
`
`Ematow59:0
`
`Page 6 of 12
`
`Page 6 of 12
`
`
`
`
`
`
`

`

`
`
`US 6,557,001 B1
`
`
`1
`METHOD FOR ENHANCING VIDEO
`
`
`
`
`COMPRESSION THROUGH AUTOMATIC
`
`
`
`DATA ANALYSIS AND PROFILE SELECTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`This is a Continuation-in-Part pending Appliction of US.
`
`
`
`
`
`
`
`
`
`patent application Ser. No. 09/197,441, filed Nov. 23, 1998,
`
`
`
`
`
`
`
`which is currently pending and the specification for which is
`
`
`
`
`
`
`
`hereby incorporated by reference as if fully set forth herein.
`FIELD AND BACKGROUND OF THE
`
`
`
`INVENTION
`
`
`
`5
`
`
`
`10
`
`
`
`
`
`
`
`
`
`The present invention relates to a system and method for
`
`
`
`
`
`
`multimedia data compression and transmission,
`thereby
`
`
`
`
`
`enabling a large amount of multimedia information to be
`
`
`
`
`
`
`
`rapidly transmitted for display by a remote display device
`
`
`
`
`
`
`
`with low bandwidth requirements. Such multimedia infor-
`
`
`
`
`
`
`
`
`mation may optionally include video stream data and/or
`
`
`
`
`
`audio stream data, for example.
`
`
`
`
`
`
`
`Computers are becoming more popular as home enter-
`
`
`
`
`
`
`
`
`
`tainment devices and for the organization and display of
`information for the consumer. In addition to the functions of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`earlier computers, computers today can play music stored in
`
`
`
`
`
`
`
`
`
`a variety of formats, including files stored in the MP3 format
`25
`
`
`
`
`
`
`
`
`on a CD, on magnetic storage medium or on the DVD
`
`
`
`
`
`
`
`storage medium, as well as displaying video streams and
`
`
`
`
`
`
`
`
`
`enabling “chats” to take place through the Internet.
`In
`
`
`
`
`
`
`
`
`addition, consumers can now perform a variety of tasks
`
`
`
`
`
`
`
`
`“online” through the computer, such as order groceries from
`
`
`
`
`
`
`
`
`
`the local supermarket, which are then delivered to the house
`
`
`
`
`
`
`
`
`of the consumer. These applications have the advantage of
`
`
`
`
`
`
`
`
`being more efficient and of saving the consumer time.
`
`
`
`
`
`
`
`
`
`The computer itself has been sufficiently adapted for the
`household environment and for the new multi-media tasks,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`except for portability. The typical household computer is a
`
`
`
`
`
`
`
`“desktop” computer which is not very portable. However,
`
`
`
`
`
`
`
`certain applications such as playing and managing a musical
`
`
`
`
`
`
`
`database or otherwise interacting with the computer from a
`remote location would be more efficient if the computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`could easily be moved from room to room. Thus, desktop
`
`
`
`
`
`
`
`
`computers are not sufficiently portable for such tasks.
`A more useful solution would enable the consumer to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`view the display of the monitor of the computer for video
`data, and/or to also be able to hear the audio data, for
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`interacting with the computer anywhere in the house, as a
`
`
`
`
`
`
`
`
`remote application. The entire computer would not need to
`be moved about from room to room, but only those portions
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`which are required for controlling the computer and for
`
`
`
`
`
`
`displaying information on the monitor. Unfortunately, those
`
`
`
`
`
`
`
`remote computing solutions which are available only enable
`
`
`
`
`
`
`
`
`partial control, and do not permit portions of the computer
`
`
`
`
`
`
`
`
`to be operated in a fully remote and independent fashion,
`
`
`
`
`
`
`
`
`
`while still remaining tied to the CPU of the computer but
`without the necessity for an additional network connection.
`
`
`
`
`
`
`
`The remote computing device disclosed and claimed in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`pending US. patent application Ser. No. 09/197,441, incor-
`
`
`
`
`
`
`
`porated by reference as if fully set forth herein, overcomes
`
`
`
`
`
`
`these problems by providing a fully remote, independently
`
`
`
`
`
`
`
`operatable device for displaying information on the monitor
`
`
`
`
`
`
`
`
`
`of a remote mobile platform and for controlling the CPU of
`
`
`
`
`
`
`
`the remote computer. However, in order to be fully practi-
`cable and realizable, the disclosed device must be able to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`receive video data sufficiently rapidly in order for
`the
`
`
`
`
`
`
`
`monitor display to be rapidly refreshed, and to receive the
`
`
`
`
`
`
`
`
`
`audio stream data rapidly for playing such data through
`
`
`
`
`
`
`
`speakers in a responsive manner, without requiring the user
`
`
`
`
`
`
`
`
`
`
`to wait for long periods of time between requesting the
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 7 of 12
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`
`
`
`
`
`
`
`
`display of a particular type of information and the actual
`
`
`display thereof.
`
`
`
`
`
`
`Currently available technologies for transmitting such
`
`
`
`
`
`
`
`
`
`
`video data to, and receiving such video data by, a remote
`
`
`
`
`
`
`
`
`monitor, particularly for such a device which is not con-
`
`
`
`
`
`
`
`
`nected to the controlling CPU through a wire or cable
`network, are limited in terms of the amount of bandwidth.
`
`
`
`
`
`
`
`
`
`
`
`
`
`Such a limitation is typically 100—1,600 Mbps. Therefore,
`
`
`
`
`
`
`multimedia data compression methods are required in order
`
`
`
`
`
`
`
`
`to compress a larger amount of data into the bandwidth
`available for transmission. However, current multimedia
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`data compression methods are most efficient when adjusted
`
`
`
`
`
`
`
`
`
`for the type of multimedia data being transmitted. If a
`
`
`
`
`
`
`
`particular device routinely transmits a certain type of mul-
`
`
`
`
`
`
`
`
`timedia data, then the compression method is fairly simple
`
`
`
`
`
`
`
`
`to determine, as this method could be adjusted to the type of
`
`
`
`
`
`
`
`
`multimedia data. For devices and applications in which
`
`
`
`
`
`
`
`
`multiple types of multimedia data are transmitted, the com-
`
`
`
`
`
`
`
`pression method must be determined separately for each
`
`
`type of data.
`
`
`
`
`
`
`The remote monitor of pending US. patent application
`
`
`
`
`
`
`Ser. No. 09/197,441 is an example of a device which must
`
`
`
`
`
`
`
`routinely receive multiple different types of video data. All
`
`
`
`
`
`
`
`
`of the display data which is received by this remote monitor
`
`
`
`
`
`
`
`
`
`is video data, but could range from a display of a GUI
`
`
`
`
`
`
`(graphical user interface) for a word processing software
`
`
`
`
`
`
`
`program, to streaming video data for a DVD movie. Each
`
`
`
`
`
`
`
`different type of display data therefore requires a different
`
`
`
`
`
`
`
`type of video data compression method for the most efficient
`
`
`
`
`compression of the transmitted data.
`
`
`
`
`
`
`Currently, each multimedia data compression method
`
`
`
`
`
`
`
`
`must be manually adjusted for the particular type of multi-
`
`
`
`
`
`
`
`
`
`media data. Clearly, such manual adjustments are not suit-
`able for the remote monitor device, which may rapidly
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`display multiple types of multimedia data. Therefore, a
`better solution would enable the type of multimedia data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`compression method to be automatically selected according
`
`
`
`
`
`
`
`to the type of multimedia data which is to be displayed on
`
`
`
`
`
`
`
`the remote monitor. Unfortunately, such a solution is not
`
`
`currently available.
`Therefore, there is an unmet need for, and it would be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`highly useful to have, a method and a system for automati-
`
`
`
`
`
`
`
`
`cally selecting a particular type of multimedia data com-
`
`
`
`
`
`
`
`pression method, according to the type of multimedia data
`which is to be transmitted, such that manual intervention is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`not required, and such that the multimedia data is efficiently
`
`compressed.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`The present invention is of a system and method for rapid
`multimedia data compression and transmission for a wire-
`
`
`
`
`
`
`
`less remote monitor. The method of multimedia data com-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`pression according to the present
`invention adjusts the
`
`
`
`
`
`
`
`
`compression method according to the type of software
`
`
`
`
`
`
`
`
`application which generated the multimedia data, and hence
`
`
`
`
`
`
`
`according to the characteristics of the data itself. Preferably,
`
`
`
`
`
`
`
`the type of multimedia data compression is selected by a
`
`
`
`
`
`
`
`
`profile manager, which detects the characteristics of the
`multimedia data to determine the character of the data, and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`then which selects the multimedia data compression profile,
`
`
`
`
`
`
`
`including the compression method according to the charac-
`ter of the data.
`
`
`
`
`
`
`
`
`
`According to the present invention, there is provided a
`
`
`
`
`
`
`
`
`method for compressing multimedia data, the steps of the
`
`
`
`
`
`
`
`method being performed by a data processor, the method
`
`
`
`
`
`
`
`
`comprising the steps of: (a) providing a plurality of different
`
`Page 7 of 12
`
`

`

`
`
`US 6,557,001 B1
`
`
`
`
`3
`
`
`
`
`
`
`
`multimedia data compression procedures, each of the com-
`
`
`
`
`
`
`
`pression procedures being associated with a profile of char-
`
`
`
`
`
`
`
`
`acteristics of the multimedia data; (b) receiving the multi-
`
`
`
`
`
`
`
`
`
`media data to be compressed to form received data; (c)
`
`
`
`
`
`
`
`determining at least one characteristic of the received data;
`
`
`
`
`
`
`
`
`(d) selecting a profile according to the at least one charac-
`
`
`
`
`
`
`
`teristic; and (e) compressing the received data according to
`
`
`
`
`
`
`
`a compression procedure associated with the profile.
`
`
`
`
`
`
`According to another embodiment of the present
`
`
`
`
`
`
`
`there is provided a method for compressing
`invention,
`
`
`
`
`
`
`
`multimedia data, the steps of the method being performed by
`
`
`
`
`
`
`
`
`
`
`a data processor, the method comprising the steps of: (a)
`
`
`
`
`
`
`
`analyzing each type of multimedia data to determine at least
`
`
`
`
`
`
`
`
`
`one characteristic of each type of multimedia data;
`(b)
`
`
`
`
`
`
`
`associating one of a plurality of different multimedia data
`
`
`
`
`
`
`
`compression procedures with each type of multimedia data
`
`
`
`
`
`
`
`
`according to the at
`least one characteristic for optimal
`
`
`
`
`
`compression of the multimedia data to form the compression
`
`
`
`
`
`
`
`
`profile; (c) receiving the multimedia data for compression to
`
`
`
`
`
`
`
`
`form compressed data; and (d) selecting the compression
`
`
`
`
`
`
`profile for compressing the compressed data.
`
`
`
`
`
`
`
`
`Hereinafter, the term “computer” indicates any type of
`
`
`
`
`
`
`electronic device which is capable of performing
`
`
`
`
`
`
`
`
`computations, including, but not limited to, personal com-
`
`
`
`
`
`
`
`
`
`25
`puters (PC) having an operating system such as DOS,
`
`
`
`
`
`
`WindowsTM, OS/2TM or Linux; MacintoshTM computers;
`
`
`
`
`
`
`computers having JAVATM-OS or BeOSTM as the operating
`
`
`
`
`
`
`
`system; thin client computers; and graphical workstations
`
`
`
`
`
`
`
`such as the computers of Sun MicrosystemsTM and Silicon
`
`
`
`
`
`
`
`
`Graphics”, and other computers having some version of the
`
`
`
`
`
`
`UNIX operating system such as AIXTM or SOLARISTM of
`
`
`
`
`
`Sun MicrosystemsTM; a PalmPilotTM, a PilotPCTM, or any
`
`
`
`
`
`
`
`
`other handheld device, portable device for data processing
`
`
`
`
`
`
`such as a PDA (personal data assistant), or embedded system
`
`
`
`
`
`
`
`
`
`or device; or any other known and available operating
`
`
`
`
`
`
`
`system and computational device. Hereinafter,
`the term
`“WindowsTM” includes but is not limited to Windows95TM,
`
`
`
`
`
`
`Windows 3.xTM in which “x” is an integer such as “1”,
`
`
`
`
`
`
`
`
`
`Windows NTTM, Windows98TM, Windows CETM,
`
`
`
`
`
`
`
`
`
`
`
`
`
`Windows2000TM, and any upgraded versions of these oper-
`
`
`
`
`
`ating systems by Microsoft Corp. (USA).
`The method of the present
`invention could also be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`described as a plurality of instructions being performed by
`
`
`
`
`
`
`
`
`
`
`a data processor, such that
`the method of the present
`
`
`
`
`
`
`invention could be implemented as hardware, software,
`firmware or a combination thereof. For
`the present
`
`
`
`
`
`
`
`invention, a software application could be written in sub-
`
`
`
`
`
`
`
`
`
`
`
`
`
`stantially any suitable programming language, which could
`
`
`
`
`
`
`
`
`
`
`easily be selected by one of ordinary skill in the art. The
`
`
`
`
`
`
`programming language chosen should be compatible with
`
`
`
`
`
`
`the computer according to which the software application is
`
`
`
`
`
`
`executed. Examples of suitable programming languages
`include, but are not limited to, C, C++ and Java.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Hereinafter,
`the term “CPU” (central processing unit)
`
`
`
`
`
`
`
`
`includes those portions of the computer which control the
`
`
`
`
`
`
`
`remainder of the computer, including the peripherals. As
`defined herein, the CPU includes the control unit and the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`arithmetic and logic unit (ALU), as well as other compo-
`
`
`
`
`
`
`
`
`
`nents such as memory and temporary buffers which are
`
`
`
`
`
`
`
`
`
`
`required for the operation of the control unit and the ALU.
`
`
`
`
`
`
`
`Other types of microprocessors or data processors are spe-
`cifically excluded from the term “CPU” as herein defined.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Hereinafter, the term “speaker” is defined to include any
`
`
`
`
`
`
`
`
`type of device for producing an audible sound stream for a
`
`
`
`user, including an earphone.
`Hereinafter, a “locally connectable” video card is a video
`
`
`
`
`
`
`
`
`
`
`
`
`
`card which is capable of controlling a monitor or other
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 8 of 12
`
`
`4
`
`
`
`
`
`
`
`display device which is attached to the computer in which
`
`
`
`
`
`
`
`
`the video card is located, regardless of whether the computer
`
`
`
`
`
`
`
`
`actually has such a monitor or other display device attached.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`The invention is herein described, by way of example
`
`
`
`
`
`
`only, with reference to the accompanying drawings,
`wherein:
`
`
`
`
`
`
`
`
`FIG. 1A is a schematic block diagram illustrating an
`
`
`
`
`
`
`
`exemplary system according to the present invention for
`
`
`
`
`
`
`compressing video or multimedia data, while FIG. 1B is a
`
`
`
`
`
`
`
`flowchart of an exemplary method for analyzing the data;
`
`
`
`
`
`
`FIG. 2 is a schematic block diagram illustrating an
`
`
`
`
`
`
`exemplary wireless multimedia platform monitor according
`
`
`
`
`
`to the present invention; and
`
`
`
`
`
`
`FIGS. 3A—3C are schematic block diagrams which illus-
`
`
`
`
`
`trate three different embodiments of a complete wireless
`
`
`
`
`
`system according to the present invention.
`DESCRIPTION OF THE PREFERRED
`
`
`EMBODIMENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The present invention is of a system and method for rapid
`
`
`
`
`
`
`
`multimedia data compression and transmission for a wire-
`less remote monitor. The method of multimedia data com-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`pression according to the present
`invention adjusts the
`
`
`
`
`
`
`
`
`compression method according to the type of software
`
`
`
`
`
`
`
`
`application which generated the multimedia data, and hence
`
`
`
`
`
`
`
`according to the characteristics of the data itself. Preferably,
`
`
`
`
`
`
`
`the type of multimedia data compression is selected by a
`
`
`
`
`
`
`
`
`profile manager, which detects the characteristics of the
`
`
`
`
`
`
`
`
`
`multimedia data to determine the profile of the data, and then
`
`
`
`
`
`
`
`which selects the multimedia data compression method
`
`
`
`according to the profile.
`
`
`
`
`
`
`
`The principles and operation of the system and method
`
`
`
`
`
`
`according to the present invention may be better understood
`
`
`
`
`
`
`
`with reference to the drawings and the accompanying
`
`description.
`
`
`
`
`
`
`
`Referring now to the drawings, FIG. 1A is a schematic
`
`
`
`
`
`
`block diagram illustrating an exemplary system according to
`the present invention, while FIG. 1B is a flowchart of an
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`exemplary method according to the present
`invention.
`Although FIGS. 1A and 1B are drawn toward video com-
`
`
`
`
`
`
`pression methods,
`it
`is understood that
`this is for the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`purposes of description only, without any intention of being
`
`
`
`limiting in any way.
`
`
`
`
`
`
`
`As shown in FIG. 1A, a system 1 features a plurality of
`
`
`
`
`
`
`
`software applications 3 for producing different
`types of
`
`
`
`
`
`
`display data. Software applications 3 are operated by an
`
`
`
`
`
`
`
`operating system 5. The display data must be compressed
`
`
`
`
`
`
`according to a suitable video compression method before
`
`
`
`
`
`
`transmission decompression and display, for example by the
`remote monitor of FIG. 2, and for the systems of FIGS.
`
`
`
`
`
`
`
`
`3A—3B.
`
`
`
`
`
`
`
`
`
`
`In order for the data to be suitably compressed, the video
`
`
`
`
`
`
`compression method must be selected to be compatible with
`
`
`
`
`
`
`
`
`
`the particular type of data produced by each software
`
`
`
`
`
`
`
`application 3. Therefore, operating system 5 feeds the dis-
`
`
`
`
`
`
`
`play data to a compression profile manager 7. The process is
`
`
`
`
`
`
`
`
`controlled by a separate reporting device driver 9,
`for
`
`
`
`
`
`
`
`
`causing operating system 5 to report
`the type of each
`
`
`
`
`
`software application 3 which is running to compression
`
`
`
`
`
`
`
`profile manager 7. Preferably, reporting device driver 9 also
`
`
`
`
`
`
`
`causes operating system 5 to report the screen resolution to
`
`
`
`compression profile manager 7.
`
`
`
`
`
`
`Once compression profile manager 7 has received the
`
`
`
`
`
`
`pertinent information concerning the type of video display
`
`
`
`
`
`
`
`
`Page 8 of 12
`
`

`

`5
`
`
`
`
`
`
`
`
`data which is being produced, compression profile manager
`
`
`
`
`
`
`
`
`
`7 can select the particular type of video compression method
`
`
`
`
`
`
`
`for compressing the display data. Compression profile man-
`
`
`
`
`
`
`
`ager 7 has a plurality of compression profiles, each of which
`
`
`
`
`
`
`
`
`
`is suitable for a particular type of display data which is
`
`
`
`
`
`
`produced by a particular software application 3. As each
`
`
`
`
`
`
`
`
`type of display data is passed from operating system 5,
`
`
`
`
`
`
`compression profile manager 7 selects a suitable compres-
`
`
`
`
`
`
`
`
`sion profile for compressing the video data, according to the
`
`
`
`
`
`
`
`characteristics of the display data, as described in greater
`
`
`
`
`
`
`
`
`
`detail with regard to FIG. 1B. Alternatively, the user can
`
`
`
`
`
`
`
`manually select a compression profile from a plurality of
`
`
`
`
`
`
`such profiles provided by compression profile manager 7.
`
`
`
`
`
`
`
`
`
`Once the proper compression profile for the display data
`
`
`
`
`
`
`
`is selected, the actual process of compression is performed
`
`
`
`
`
`
`
`by an MPEG (Motion Picture Expert Group) encoder 11 or
`
`
`
`
`
`
`
`other type of compression algorithm. It is understood that
`
`
`
`
`
`
`
`although the present invention is described with regard to a
`
`
`
`
`
`
`
`particular type of video data compression method, namely
`
`
`
`
`
`
`
`
`the MPEG group of compression methods, this is only for
`
`
`
`
`
`
`
`the purposes of description and is not intended to be limiting
`
`
`
`in any way.
`
`
`
`
`
`
`For example, different compression profiles would be
`
`
`
`
`
`
`
`required for television video stream, a word processing
`screen stream, a three-dimensional video game video
`
`
`
`
`
`
`
`
`
`
`
`
`
`stream, and so forth. Preferably, an automatic video content
`
`
`
`
`
`
`
`analysis method would be employed to analyze the type of
`
`
`
`
`
`
`
`
`video data and would select a particular compression profile
`
`
`
`
`
`
`
`according to the type of video data. A preferred implemen-
`tation of such an automatic method is given in FIG. 1B. In
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`step 1, the video data to be transmitted is analyzed. For
`
`
`
`
`
`
`
`
`example, groups of rasters of the video data are optionally
`
`
`
`
`
`
`
`
`sampled for analysis. Preferably, each such group is a block
`
`
`
`of 8x8 pixels.
`
`
`
`
`
`
`
`
`In step 2, at least one parameter is determined for each
`
`
`
`
`
`
`
`
`sample. Preferably, the parameter includes, but is not limited
`
`
`
`
`
`
`
`to, a number of unique colors in the screen, a presence of
`static dark thin rows of pixels or large static blocks, and a
`
`
`
`
`
`
`
`
`
`level of motion in the screen between one frame and the next
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`frame. More preferably, a plurality of such parameters is
`
`analyzed.
`
`
`
`
`
`
`
`
`the plurality of parameters is matched to a
`In step 3,
`
`
`
`
`
`
`particular compression profile, which is then selected by
`
`
`
`
`
`
`
`compression profile manager 7. For example, the presence
`of thousands of unique colors in a frame with considerable
`
`
`
`
`
`
`
`movement between frames, as well as unchanged black
`
`
`
`
`
`
`
`
`stripes at the bottom and top of each frame, would indicate
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`that a DVD movie is being transmitted. The appropriate
`
`
`
`
`
`
`
`
`
`compression profile for the DVD movie would then be
`selected.
`
`
`
`
`
`
`
`The compression profile would be adjusted according to
`such factors as the maximum resolution, refresh rate and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`color handling. Optionally and preferably, for text data, a
`
`
`
`
`
`
`
`
`
`
`variable bit rate is used for the compression, since the
`amount of text data which must be transmitted at any
`
`
`
`
`
`
`
`
`particular moment is itself variable. Therefore, the MPEG
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`compression methods are preferred for the present invention
`
`
`
`
`
`
`
`
`
`as they feature different profiles and levels which are
`60
`
`
`
`
`
`
`
`adjusted according to these different factors. The MPEG
`encoder is also preferred as it enables noise to be filtered
`
`
`
`
`
`
`
`
`
`
`
`
`
`through different “filters”, such as low-pass, median and
`
`
`
`
`
`
`
`
`
`deinterlacing filters. The motion vector may also be set, for
`
`
`
`
`
`
`
`example by enlarging or minimizing the search area of the
`
`
`
`
`
`
`
`
`data which has changed position within the frame.
`
`
`
`
`
`
`
`
`Regardless of the level and profile, the MPEG format uses
`three different types of frames: I, B and P frames. The I
`
`
`
`
`
`
`
`
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 6,557,001 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6
`
`
`
`
`
`
`
`
`frame is the initial or “intra-frame” and is required. The B
`frame is a bi-directional frame, while the P frame is a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`predictable frame. The B and P frames are optional, and B
`frames can be removed without P frames.
`
`
`
`
`
`
`
`
`
`
`
`
`
`These different types of frames are organized into groups.
`
`
`
`
`
`
`
`For example, a video stream compressed according to the
`
`
`
`
`
`
`
`
`MPEG method could feature a 3 frame group, such as IBP
`
`
`
`
`
`
`for example, or a 9 frame group, such as IBBPBBPBB for
`
`
`
`
`
`
`example, or even a 12 frame group, such as IPPPPPPPPPPP
`
`
`
`
`
`
`
`
`for example. In each group, there is a single I frame, while
`
`
`
`
`
`
`
`
`the number of B and P frames in each group may vary, or
`
`
`
`
`
`
`
`
`even may be deleted altogether. In addition, the number of
`frames per second, the motion vectors, the resolution, and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the filters, may all optionally be adjusted in order to produce
`
`
`
`each compression profile.
`
`
`
`
`
`
`An exemplary compression profile for a television video
`
`
`
`
`
`
`
`stream would feature a main level, main profile MPEG-2
`
`
`
`
`
`
`compression method with frame groups of 12 frames: IBB
`
`
`
`
`
`
`
`PBB PBB PBB. The method would feature progressive
`
`
`
`
`
`
`
`encoding, or deinterlacing, and low pass filtering. The
`motion vectors would be 32x32 for the P frames and 16x16
`
`
`
`
`
`
`
`for the B frames.
`
`
`
`
`
`
`
`
`
`
`On the other hand, an exemplary compression profile for
`
`
`
`
`
`
`
`a word processing screen stream at a 800x600 resolution
`
`
`
`
`
`
`
`
`would be high profile, high level variable MPEG-2 stream
`
`
`
`
`
`
`
`
`with frame groups of 9 frames: IBB PBB PBB. In cases
`
`
`
`
`
`
`
`where flawless quality is necessary all of the B frames could
`be omitted, such that a rate of 30 frames per second becomes
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a rate of 10 tripled frames per second. The motion vectors
`are 24x24 for the P frames and 8x8 for the B frames. No
`
`
`
`
`
`
`
`
`
`
`
`
`filters are applied.
`
`
`
`
`
`
`
`
`
`For the 3-D video game video data, an exemplary com-
`
`
`
`
`
`
`
`
`pression profile would optionally feature a high profile, high
`
`
`
`
`
`
`
`level MPEG-2 compression method at 60 frames per second,
`
`
`
`
`
`
`
`thereby halving the delay caused by the compression process
`
`
`
`
`
`
`
`itself. Preferably, the compression method would feature
`groups of 18frames: IBPBPBPBPBPBPBPBPB. All of the B
`
`
`
`
`frames are deleted, such that a frame rate of 60 frames per
`
`
`
`
`
`
`
`
`
`second becomes a rate of 30 doubled frames per second. The
`
`
`
`
`
`
`
`
`motion vectors are 48x48 for the P frames and 8x8 for the
`
`
`
`
`
`
`
`
`
`B frames.
`
`
`
`
`
`
`
`
`
`In step 4, the compression profile is set to determine the
`
`
`
`
`
`
`particular video compression method for compressing the
`video data. The data is then compressed and transmitted.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Of course, the previously described system and method
`could be extended to other types of multimedia data, such as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`audio stream data for example. Alternatively, as previously
`
`
`
`
`
`
`
`described,
`the compression profile could be manually
`
`
`
`
`
`
`selected by the user, or alternatively could be determined
`
`
`
`
`
`
`
`automatically according to the identity of the software
`
`
`
`
`
`
`
`
`application which is producing the video data and/or other
`types of multimedia data. Two or more of the elements of
`
`
`
`
`
`
`
`
`
`
`
`
`
`automatic analysis according to a software module or other
`
`
`
`
`
`
`set of electronically executed instructions, manual selection
`
`
`
`
`
`
`
`
`
`
`by the user, and selection according to the identity of the
`
`
`
`
`
`
`
`software application which produces the multimedia data,
`
`
`
`
`
`
`
`
`can also optionally be combined. Optionally and most
`
`
`
`
`
`
`
`
`preferably, the user is able to manually override any auto-
`
`
`
`
`
`
`
`matically selected compression profile, and to replace such
`
`
`
`
`
`
`
`an automatically selected compression profile with a differ-
`
`
`
`
`
`
`ent compression profile. Preferably, such a replacement is
`
`
`
`
`
`
`
`enabled through a GUI (graphical user interface) element,
`preferably with the use of a macro command. Aruler or other
`
`
`
`
`
`
`
`display of macro buttons such as “tv” “dvd” “text” or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“graphics” could be used for controlling these macro com-
`mands.
`
`
`Page 9 of 12
`
`Page 9 of 12
`
`

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