`
`
`
`
`
`
`
`(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
`
`