throbber
980484
`
`~~
`
`PATENT
`NUMBER'
`
`CLASS
`~
`? II
`
`SUBCLASS
`
`~· 2.-bt
`
`GROUP ART UNIT
`
`EXAMINER E 114, I<
`
`1'\0-
`
`....... 1!!!
`
`FILING FEE
`RECEIVED
`
`ATTORNEY'S
`DOCKET NO.
`
`U.S. DEF».T· of COMMERCE • Patent and Trademark Office-PeT -436L (rev. 7·94)
`
`Assistant Examiner
`
`Total Claims
`4o
`
`Sheets Drwg.
`3
`ISSUE ~ 0 3
`BATCH
`Examiner NUMBER
`
`Print Fig.
`~
`
`The information disclosed herein may be restricted. Unauthorized disclosure may be prohibited
`by the United States Code Title 35, Sections 122, 181 and 368. Possession outside the U.S.
`Patent & Trademark Office is restricted to authorized employees and contractors only.
`
`Form PT0-436A
`(Rev. 8/92}
`
`ZTE Exhibit 1002
`
`Page 1 of 258
`
`

`
`!
`
`"------·
`
`·-
`
`__ APPROVED F~R LICENSE D
`(------~~-.--~~----------- --------------- --~
`._ • PATIENT APPLICATION
`;JfP
`i
`4 9 88•~
`lllllllllll!llllllllllllllllllllllllllllllllllllll
`. INITIALS._- -• .J
`08701890
`~-----------··-· --
`-
`CONTENTS ..
`
`Date
`Received
`or
`Mailed
`
`11-t./ 16
`q- ~q-c;cf
`~~ r-'! (! 1/Jir-ft
`
`.. 3-9-- 7:9'
`'+-19- 'ltf
`6'-----1- ~?'
`
`I
`
`(FRONn
`
`· Date ~,
`·Entered
`or
`Counted
`
`.. \ ~' !
`
`12.
`
`13.
`
`14.
`
`15.
`
`16.
`
`17.
`
`18.
`
`19.
`
`20.
`
`21.
`
`22.
`
`23.
`
`24.
`
`25 .
`
`c•";>
`
`..;.··' ...
`
`·~26.
`
`27:--
`
`28.
`
`29.
`
`30.
`
`31.
`'
`32.
`
`Page 2 of 258
`
`

`
`2
`3
`4
`5
`
`)
`'1
`(
`
`Staple.lssue Slip ~ere
`
`IDNO.
`l(Cf
`t./,L
`
`l1t
`85~ jj.,_·.,>'
`
`~~. '1'*·
`
`"""""
`
`POSITION
`CLASSIFIER
`EXAMINER
`TYPIST
`VERIFIER
`CORPS CORR.
`SPEC. HAND
`FILEMAINT.
`DRAFTING
`
`' (
`
`DATE
`
`I
`
`'! {1 v / ,f
`fl~·'?'' /
`I o-9 --.!f-6
`lrf) ~ :;'1 1,'7
`10-Jq:;z,yG,
`
`INDEX OF CLAIMS
`
`Date
`
`'
`
`SYMBOLS
`../ ................................. Rejected
`= ................................. Allowed
`• (Through numberal) Canceled
`+ ................................. Restricted
`· N ................................. Non-elected
`I ................................. Interference
`A ................................. Appeal
`0 ................................. Objected
`
`-
`
`(LEFT INSIDE)
`
`Date
`
`(ij
`c:
`
`Claim
`!1l
`c:
`·c;,
`iL 0
`51
`52
`53
`54
`55
`56
`57
`58
`59
`60
`61
`62
`63
`64
`65
`66
`67
`68
`69
`70
`71
`72
`73
`74
`75
`76
`77
`78
`79
`80
`81
`82
`83
`84
`85
`86
`87
`88
`89
`90
`91
`92
`93
`94
`95
`96
`97
`98
`99
`100
`
`'
`
`Claim
`
`!1l I II-
`t
`.!:
`0)
`I ( j) :::: --
`iL 0 ~ ~
`
`(ij
`c:
`
`2
`
`' 6
`, 8
`
`7
`
`7
`
`1 9
`to( 16"'1
`11
`lJ
`12 12
`13 13
`I'( 14
`I) 15
`1.1- 16
`17 17
`If 18
`
`,, 1'19
`
`}.0 20
`)..I 21
`21. 22
`:1.'1 24 --
`J-J 23
`,_r( ~ v
`}.' 26
`,., 27
`
`!1.6 28
`,.q 29
`j.J 30
`3/ 31
`JL( ~
`J3 33
`
`,., 34
`}s" 35
`J' 36
`J7 37
`J'l 38
`3'1 39
`'fg 40 .,/ -
`
`41
`42
`43
`44
`45
`46
`47
`48
`49
`50
`
`Page 3 of 258
`
`

`
`-
`
`AREA
`
`~U.S. GOVERNMENT PRINTING OFFICE: 1998-440· 769
`
`_,_
`'"'1
`
`'
`ORIGINAL .CLASSIFICATION
`SUBCLASS
`
`206
`CROSS REFERENCE(S)
`SUBCLASS
`(ONE SUBCLASS PER BLOCK)
`
`STAPLE
`
`---
`
`CLASS
`
`711
`
`CLASS
`
`PATENT NUM8ER
`
`~
`
`..
`
`-. ~· '..."'!'"
`' _·-
`·_
`~-'
`
`-
`
`;:.
`
`-- '
`
`\
`
`\:•
`
`APPLICA TlON SERIAL NUMBER
`0&'/7o? 1?t:f.o
`APPLICANT'S NAME (PLEASE PRINT)
`
`C ~~Js.fofherA ~ Lo.""
`
`IF REISSUE, ORidtNAL PATENT NUMBER
`
`INTERNATIONAL CLASSIFICATION
`
`(;, () 6 r-
`
`/:2 / to
`I
`I
`/
`
`GROUP
`
`ASSIST ANT EXAMINER (PLEASE STAMP OR PRINT FULL NAME)
`
`ART UNIT Kevil'\ L, E I li$
`2.7S"/ PRIMARY EXAMINER (PLEASE STAMP OR PRINT FULL NAME) Ab
`EDDIE P. CHAN
`ISSUE CLASSIFICATION ~~~tHVI~UI1Y t'AI
`
`T OF COMMERCE
`PATENT ANO TRADEMARK OFFICE
`
`PT0270
`(REV. 5 91)
`
`Page 4 of 258
`
`

`
`SEARCHED
`
`Class
`
`Sub.
`
`Date
`
`Exmr.
`
`/(/
`
`~, s-
`
`71 I
`
`71o
`
`'20'2
`'2"3
`"20t
`'2.D7
`g'l6
`
`2 e>2.
`'2t:>:J
`2D~
`2o7
`
`,_a
`
`I
`q!;~
`1?
`
`I
`
`J /,/.
`q?
`
`I
`!AI?
`(
`
`\
`UJ£'
`I
`
`SEARCH NOTES
`
`Date
`
`Exmr.
`
`INTERFERENCE SEARCHED
`Sub.
`Exmr.
`Class
`Date
`
`711
`
`71o
`
`1o2
`2.->$
`2 (?'
`
`:Z.>?
`
`.22
`
`3iz I.
`
`<f"'j
`
`L{,Jf'
`
`(RIGHT OUTSIDE)
`
`Page 5 of 258
`
`

`
`•
`
`! ,
`...
`. ~ ..
`. , .. '.Jil; ...
`•
`08 701890
`PATENT APPLICATION SERIAL NO.
`-------
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`PT0-1556
`(5/87)
`
`Page 6 of 258
`
`

`
`BAR CODE LABEL
`
`·11111111111111111111111111111111111111111111111111
`
`U.S. PATENT APPLICATION
`
`SERIAL NUMBER
`
`FILING DATE
`
`CLASS
`
`GROUP ART UNIT
`
`08/701,890
`
`08/23/96
`
`395
`
`2309
`
`CHRISTOPHER S. LAM, SAN JOSE, CA.
`
`t(cid:173)z
`()
`::i
`a..
`a..
`<(
`
`**CONTINUING DATA*********************
`VERIFIED
`
`**FOREIGN/PCT APPLICATIONS************
`VERIFIED
`
`FOREIGN FILING LICENSE GRANTED 10/17/96
`TOTAL
`CLAIMS
`
`INDEPENDENT
`CLAIMS
`
`FILING FEE
`RECEIVED
`
`ATTORNEY DOCKET NO.
`
`STATE OR
`COUNTRY
`
`SHEETS
`DRAWING
`
`CA
`
`3
`
`40
`
`5
`
`$1,346.00
`
`96-S-001
`
`LISA K JORGENSON
`SGS-THOMSON MICROELECTRONICS INC
`1310 ELECTRONICS DRIVE
`CARROLLTON TX 75006
`
`MEMORY SHARING ARCHITECTURE FOR A DECODER IN A COMPUTER SYSTEM
`
`U)
`U)
`w
`a:
`0
`0
`<(
`
`w
`...I
`t:
`t-
`
`I
`This is to certify that annexed hereto is a true copy from the records of the United States
`Patent and Trademark Office of the application whrch is identified above.
`By autho~ity of the
`COMMISSIONER OF PATENTS AND TRADEMARKS
`
`Date
`
`Certifying Officer
`
`Page 7 of 258
`
`

`
`SEED and BERRY LLP
`6300 Columbia Center
`Seattle, Washington 98104-7092
`Phone (206) 622-4900
`Fax (206) 682-6031
`
`08 ·1bt890 ;._
`
`Express Mail Certificate No.:
`Docket No.:
`Date:
`
`EM330684222US
`96-S-001
`August 23, 1996
`
`BOX PATENT APPLICATION
`ASSIST ANT COMMISSIONER FOR PATENTS
`WASHINGTON DC 20231
`
`Sir:
`
`Inventor:
`
`Transmitted herewith for filing is the patent application of:
`Christopher S. Lam
`MEMORY SHARING ARCHITECTURE FOR A DECODER IN A
`COMPUTER SYSTEM
`
`Enclosed are:
`
`3 sheets of drawings (Figs. 1-4).
`An assignment of the invention to: SGS-Thomson Microelectronics, Inc., a corporation of the State of Delaware.
`A Declaration and Power of Attomey.
`A verified statement to establish small entity status under 37 C.F.R. 1.9 and 37 C.F.R. 1.27.
`A certified copy of Application No. , filed , from which priority is claimed, .
`The filing fee has been calculated as shown below.
`Filed without fee or formal papers.
`
`For:
`
`[X]
`[ X]
`[ X]
`[ J
`[ )
`[ X]
`[ ]
`
`For:
`
`No. Filed
`
`No. Extra
`
`Small Entity
`Rate
`
`Fee
`
`Utility Fee
`
`Total Claims
`
`Independent Claims
`( ) Multiple Dependent
`Claim Presented
`
`ASSIGNMENT
`
`40
`
`5
`
`20
`
`2
`
`$375
`
`xll
`
`X 39
`
`+ 125
`
`+ 40
`
`$
`
`$
`
`$
`
`$
`
`TOTAL $
`
`Other Than A
`Small Enti_t:
`Rate
`
`Fee
`
`$750
`
`$440
`
`$ 156
`
`X 22
`
`X 78
`
`+ 250
`
`$
`
`+ 40
`
`$40
`
`TOTAL $ 1386
`
`or
`or
`
`or
`
`or
`
`or
`
`or
`
`or
`
`or
`
`[ J
`[ X]
`[ X]
`
`Please charge my Deposit Account No. 19-1090 in the amount of$_. A duplicate copy of this sheet is enclosed.
`A check in the amount of$ 1386 is enclosed.
`The Assistant Conunissioner is hereby authorized to charge payment of the following fees associated with this
`conununication or credit any overpayment to Deposit Account No. 19-1090. A duplicate copy of this sheet is enclosed.
`[ X] Any additional filing fees required under 37 C.F.R. 1.16.
`[X] Any patent application processing fees under 37 C.F.R. 1.17.
`
`Rcspectfui!Yr" mi
`SEEr;rf'1m ,.

`
`L;··"
`
`\cjd\3669
`
`Page 8 of 258
`
`

`
`i
`FORM PT0-1 082
`
`\
`
`SEED and BERRY LLP
`6300 Columbia Center
`Seattle, Washington 981 04-7092
`Phone (206) 622-4900
`Fax (206) 682-6031
`
`'_:.:,,(;.·.
`
`09.·_ '701890
`
`Express Mail Certificate No.:
`Docket No.:
`Date:
`
`EM330684222 US
`96-S-001
`August 23, 1996
`
`Sir:
`
`Inventor:
`
`For:
`
`Transmitted herewith for filing is the patent apJ,Iication of:
`Christopher S. Lam
`MEMORY SHARING ARCHITECTURE FOR A DECODER IN A
`COMPUTER SYSTEM
`
`Enclosed are:
`
`3 sheets of drawings (Figs. 1-4).
`An assignment of the invention to: SGS-Thomson Microelectronics, Inc., a corporation of the State of Delaware.
`A Declaration and Power of Attorney.
`A verified statement to establish small entity status under 37 C.F.R. 1.9 and 37 C.F.R. 1.27.
`A certified copy of Application No. , t11ed , from which priority is claimed, .
`The filing fee has been calculated as shown below.
`Filed without fee or formal papers.
`
`[ X]
`[ X]
`[ X]
`{ ]
`[ ]
`[ X]
`[ ]
`
`For:
`
`No. Filed
`
`No. Extrn
`
`Small Entitv
`Rnte
`
`Fee
`
`Utility Fee
`
`Total Claims
`
`Independent Claims
`() Multiple Dependent
`Claim Presented
`
`ASSIGNMENT
`
`40
`
`5
`
`20
`
`2
`
`$375
`
`xll
`
`X 39
`
`+ 125
`
`+ 40
`
`$
`
`$
`
`$
`
`$
`
`TOTAL $
`
`Other Than A
`Small Entit
`Rate
`
`Fee
`
`$750
`
`$440
`
`$ 156
`
`X 22
`
`X 78
`
`+ 250
`
`$
`
`+40
`
`$40
`
`TOTAL s1386
`
`or
`or
`
`or
`
`or
`
`or
`
`or
`
`or
`
`or
`
`[ ]
`[ X]
`[ X]
`
`Please charge my Deposit Account No. 19-1090 in the amount of$_. A duplicate copy of this sheet is enclosed.
`A check in the amount of$ 1386 is enclosed.
`The Assistant Commissioner is hereby authorized to charge payment of the following fees associated with this
`communication or credit any overpayment to Deposit Account No. 19-1090. A duplicate copy of this sheet is enclosed.
`[ X] Any additional tiling fees required under 37 C.F.R. 1.16.
`[ X] Any patent application processing fees under 37 C.P.R. 1.17.
`
`\ojd\3669
`
`Page 9 of 258
`
`

`
`THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`PATENT
`
`Filed
`
`For
`
`Christopher S. Lam
`
`August 23, 1996
`
`MEMORY SHARING ARCHITECTURE FOR A DECODER IN
`A COMPUTER SYSTEM
`
`Docket No.
`
`96-S-001
`
`Date
`
`August 23, 1996
`
`Box Patent Application
`Assistant Commissioner for Patents
`Washington, DC 20231
`
`CERTIFICATE OF MAILING BY "EXPRESS MAIL"
`
`Sir:
`
`I hereby certifY that the enclosures listed below are being deposited with the.
`
`United States Postal Service "EXPRESS MAIL Post Office to Addressee" service under 37
`
`C.F.R. § 1.10, Mailing Label Certificate No. EM330684222US, on August 23, 1996,
`
`addressed to: Box Patent Application, Assistant Commissioner for Patents, Washington, DC
`
`20231.
`
`CJD:kh
`
`Marco Vargas
`
`Enclosures:
`Postcard
`Check
`Form PT0-1082 (+copy)
`Specification, claims, abstract
`Drawings (Figures 1-4)
`Declaration and Power of Attorney
`Form PT0-1595
`Assignment
`
`\cjd\3671 (850063.452)
`
`Page 10 of 258
`
`

`
`EXP
`
`1
`
`Description
`
`MEMORY SHARING ARCHITECTURE FOR A DECODER
`
`IN A COMPUTER SYSTEM
`
`5 ¥ro~e toRe ted A
`lications
`..! ~/ Thi~\~ppli tion relates to pending U.S. Patent Applications entitled:
`"VIDEO AND/OR AlfoiO D COMPRESSION AND/OR COMPRESSION DEVICE
`THAT SHARES A ~tv.IORY TERFACE" (Attorney's Docket No. 96-S-b~Tl),
`lV.ll"'"'""""SSION AND/OR COMPRESSION DEVICE
`
`10
`
`THAT SHARES A MEMOR " (Att ney's Docket No. 96-S-012), and "MPEG
`
`DECODER TO BE USED IN
`
`COMPUTER" (Attorney's Docket No ..
`
`9 5-GR2-041 ), all filed concurrently he with.
`
`15 Technical Field
`
`The present invention relates to the field of electronic systems requiring
`
`blocks of memory, and
`
`is more specifically directed
`
`to systems employing
`
`decompression devices, such as audio and/or video decompression.
`
`20 Background of the Invention
`
`In the past, moving images were transmitted via analog signals, such as
`
`television signals. To improve signal to noise ratio and improve security, while also
`
`potentially providing additional signals over a given channel, moving images are
`
`digitized and transferred digitally. The size of a digital representation of moving images
`
`25
`
`(i.e., video) is dependent on the resolution of the image. If a display device, such as a
`
`CRT, has a resolution of 1024 x 768 picture elements (pels or pixels), where each pixel
`
`can have an 8-bit color value, one image requires approximately 3/4 of a megabyte of
`
`memory. At a minimum, 30 images must be displayed per second, thereby requiring over
`
`22 megabytes of memory per second. A typical 90-minute movie would thus require
`
`30
`
`nearly 120 gigabytes of memory.
`
`Page 11 of 258
`
`

`
`2
`
`As a result of such need for memory to store a typical movie, digitized
`
`video is compressed using various digital compression techniques. One such technique
`
`for compressing video is the Digicypher II system by General Instruments. Such a
`
`system allows for compressed video and audio images to be transmitted over high
`
`5
`
`bandwidth channels such as satellite transmission. Other known techniques for
`
`encoding/decoding video images include the Motion Picture Expert Group (MPEG)
`
`techniques MPEG 1 and MPEG 2. Current encoding/decoding standards for video
`
`telephony include the H.261 and H.263 standards.
`
`Many of the compression/decompression standards employ the known
`
`10
`
`discrete cosine transfer algorithm (DCT). The MPEG 1, MPEG 2, H.261 and H.263
`
`standards are decompression protocols that describe how an encoded bit stream is to be
`
`decoded. As a result, the video can be encoded in any manner, as long as the resulting
`
`bit stream complies with the particular standard.
`
`Once encoded, the images can be decoded and displayed on an electronic
`
`15
`
`system dedicated to displaying video and audio, such as a television or digital video disk
`
`(DVD) player, or on electronic systems where displaying images are just one of the
`
`features of the system, such as a computer. A given electronic system must include an
`
`appropriate decoder to allow it to display digital sequences of images compressed under
`
`one of the above standards, assuming the original video was compressed using an
`
`20
`
`encoder under that standard.
`
`Current computers, such as personal computers, employ graphics or
`
`video accelerator cards that permit the computer to rapidly display static images.
`
`Personal computers are typically unable to decompress and display video images
`
`because the decompression or decoding routines typically require substantial processor
`
`25
`
`overhead. For example, the MPEG 2 standard decodes 720 pixels per line and 576 lines
`
`per frame for a single image, and approximately 30 frames per second. As is known,
`
`each frame is divided into a series of 16 pixel by 16 pixel macroblocks, so that for each
`
`second, the processor must .decode 48,600 macroblocks per second. Consequently, the
`
`time interval between decoding each macroblock is approximately 2.0576 microseconds.
`
`30
`
`If a CPU in the PC is running at 100 megahertz, then only 2,057 clock cycles are
`
`available between decoding of each macroblock. This is an inadequate number of clock
`
`Page 12 of 258
`
`

`
`3
`
`cycles to decode a given macroblock given the complexity of the decoding function
`
`under the MPEG 2 standard.
`
`As a result, chip sets have been developed that employ a dedicated
`
`microcontroller, a MPEG 2 decompression chip, and a large amount (e.g., 2 megabytes)
`
`5 of memory, such as DRAM. Such chip sets can be expensive, particularly since they
`
`require 2 megabytes ofDRAM. Thus, it would be desirable to employ the main memory
`
`of the computer, which typically has over 8 megabytes ofDRAM.
`
`Some applications exist that share the main memory. For example, the
`
`symmetrical multiprocessor environment (SMP) by Intel employs two or more identical
`
`10
`
`processors that each access the same block of main memory. However, each of the
`
`microprocessors employs a memory management unit (MMU) that has an identical .
`
`memory mapping table. Neither microprocessor can permanently allocate a portion of
`
`the main memory. Instead, as soon as one of the microprocessors no longer employs a
`
`portion of the memory, and the address of that memory is removed from its memory
`
`15 map, then the other microprocessor is free to use that portion of memory. Additionally,
`
`the SMP environment requires a specific operating system.
`
`Another known method of sharing main memory IS employed with
`
`graphics accelerators in personal computers. Previously, graphics or video accelerator
`
`cards included on-board memory chips. However, under the Video Electronics
`
`20 Standards Association (VESA), a VESA unified memory architecture (VUMA) standard
`
`has been developed. Under this standard, video accelerators can share main memory
`
`with the computer to thereby eliminate the need for on-board memory for the graphics
`
`accelerator. During boot-up of the computer system employing the video accelerator,
`
`the video accelerator will cause the basic input/output instructions (BIOS) of the
`
`25
`
`computer to reserve a large portion of contiguous memory in the main memory, and
`
`prohibit the operating system or other applications from accessing or employing that
`
`memory.
`
`However, typical operating systems such as Windows 95®, manufactured
`
`by Microsoft Corporation, do not permit large blocks of memory to be permanently
`
`30
`
`allocated for a given application or operation after booting up the computer. Instead,
`
`Windows 95 dynamically allocates memory to an application based on the need of that
`
`Page 13 of 258
`
`

`
`4
`
`application. As soon as the application no longer uses the memory, Windows 95
`
`allocates that memory to another application. Moreover, MPEG 2 decoding requires 2
`
`megabytes of contiguous memory. Windows 95 allocates small blocks of memory
`
`(typically "pages" of 4 kilobytes each) that are scattered throughout the main memory.
`
`5
`
`Summary of the Invention
`
`One solution the inventor has developed would be to initialize the
`
`computer during the boot-up process to reserve a 2 megabyte portion of contiguous
`
`memory, as is performed with video accelerators under the YUMA standard. Such an
`
`10
`
`allocation of memory, however, is awkward, and therefore undesirable by users.
`
`Additionally, such a solution would prohibit "on-the-fly" display of video information on.
`
`the computer. Instead, the computer must be rebooted whenever the computer wishes
`
`to use the 2 megabyte portion for other applications.
`
`The present invention solves problems inherent in the prior art and in the
`
`15
`
`inventor's above solution, and provides additional advantages, by employing a memory
`
`management system that operates with the computer and its operating system (e.g.,
`
`Windows 95) to request and employ approximately 500 4-kilobyte pages of the main
`
`memory, some of which are in noncontiguous blocks of pages, to construct a single
`
`contiguous 2-megabyte block of memory. The system retains the multiple pages of
`
`20 memory, and their page descriptors, so as to lock down these portions of memory and
`
`prohibit the operating system or other applications from using them. The memory
`
`management system can be employed on a single chip having a direct memory access
`
`(DMA) engine, a microcontroller, a small block of memory (optional), and a video
`
`decoder circuit (e.g., an MPEG 2 decoder circuit).
`
`25
`
`The microcontroller, performing a Windows 95 memory allocation
`
`application, requests the page descriptors for each block of 4-kilobyte pages. Each of
`
`the page descriptors is then stored in the form of a lookup table in the on-chip memory
`
`to form a contiguous block of memory. As a result, the video decoder circuit can
`
`perform operations on what appears to be a 2-megabyte continuous block of main
`
`30 memory, where the microcontroller employs the lookup table to translate one of the
`
`2-megabyte contiguous addresses to its appropriate page in the main memory. As soon
`
`Page 14 of 258
`
`

`
`5
`
`as the video decoding operations are complete, the microcontroller releases the multiple
`
`pages of memory back to the computer.
`
`Broadly stated, the present invention embodies a control circuit for use in
`
`a computer system. The computer system is controlled by an operating system and has a
`
`5 main memory. An electronic device is coupled to the processor and the main memory
`
`and is configured to request continuous use of several portions of the main memory
`
`from the operating system. The memory portions can have noncontiguous addresses.
`
`The control circuit is also configured to translate the noncontiguous addresses to
`
`contiguous addresses of a block of memory, wherein the control circuit permits access
`
`10
`
`to the portions of the main memory as the block of memory based on the contiguous
`
`addresses.
`
`Broadly stated,
`
`the present
`
`invention also embodies a memory'
`
`management method for use with the computer system. The memory management
`
`method includes the steps of: (a) requesting continuous use of several portions of the
`
`15 main memory from the operating system, the portions of the main memory having
`
`noncontiguous addresses; (b) receiving requests for access to a block of memory, the
`
`block of memory having contiguous addresses; and (c) translating the contiguous
`
`addresses to the noncontiguous addresses.
`
`Overall, the present invention is applicable to any application requiring a
`
`20
`
`large block of contiguous memory, not necessarily video decoding. Other features and
`
`associated advantages of the present invention will become apparent from studying the
`
`following detailed description, together with the accompanying drawings.
`
`25
`
`~·····
`BriefDescription ofthe ~ings
`7
`Figure 1 is a block diagram of a computer system having an MPEG 2
`decoder under the prese · ~o~;.····'
`
`~nven~~"
`Figure 2 ispl'd"6k diagram ofthe MPEG 2 decoder ofFigure 1.
`
`Figure 3 1s a blq,ck diagram of software elements employed by the
`
`computer system ofFigure ..
`
`30
`
`Figure 4 is a flowchart of a routine performed by the MPEG 2 decoder of
`
`Figure 1.
`
`Page 15 of 258
`
`

`
`6
`
`Detailed Description of the Presently Preferred Embodiment
`
`Referring to Figure 1, a computer system 100 under the present invention
`
`includes a computer 102, such as a conventional personal computer (PC). The
`
`5
`
`computer 102 includes a central processing unit (CPU) 104, which can be an X86 based
`
`microprocessor. The CPU 104 communicates with a large block of main memory 106
`
`through a memory controller 108. As will be understood below, the main memory 106
`
`should include at least approximately 4 megabytes of memory (typically random access
`
`memory (RAM)).
`
`10
`
`A visual display device, such as a CRT 110, displays output produced by
`
`the computer 102. A digital video disk (DVD) compact disk-read only memory
`
`(CD-ROM) player 112, coupled to the computer 102, plays back video images to the'
`
`computer from a DVD CD-ROM disk 113, which can be displayed on the CRT 110.
`
`The DVD CD-ROM disk 113 is a super-density disk that can hold up to 18 gigabytes of
`
`15
`
`audio, video and other types of data (e.g., menus in various languages, sub-pictures,
`
`graphics, etc.). Specifically, the DVD CD-ROM player 112 retrieves video images that
`
`have been compressed under known video compression techniques such as the MPEG 2
`
`technique.
`
`An MPEG 2 decoder 114, coupled to the computer 102, decodes the
`
`20
`
`compressed video images from the DVD CD-ROM player 112 to reconstruct the
`
`original, uncompressed video images so that they can be displayed on the CRT 11 0.
`
`The DVD CD-ROM player 112 can also provide compressed audio sequences which the
`
`MPEG 2 decoder 114 decodes using known audio decompression techniques (e.g.,
`
`Dolby AC-3 ). The computer system 100 of Figure 1 can also contain other peripherals
`
`25
`
`and elements, not shown, such as a hard disk drive, tape drive, input devices such as a
`
`keyboard or mouse, etc.
`
`Referring to Figure 2, the MPEG 2 decoder 114 is shown in greater
`
`detail. A microcontroller 120 having a memory management unit 122 (MMU) operates
`
`under a routine described below to decode audio and video from the DVD CD-ROM
`
`30
`
`player 112. A direct memory access (DMA) engine 124 coupled between the
`
`microcontroller 120 and the computer 102 allows the microcontroller to directly access
`
`Page 16 of 258
`
`

`
`7
`
`the main memory 106, without employing the CPU 104. The DMA engine 124 can
`
`form part of a video module interface (VMI). The DMA engine 124 and VMiinterfaces
`
`are conventional, and are not described in detail herein for purposes ofbrevity and so as
`
`not to obscure the detailed description of the present invention.
`
`5
`
`A video decoding circuit 126, coupled to the microcontroller 120,
`
`decodes or decompresses the video images stored on the DVD CD-ROM disk 113 in
`
`the DVD CD-ROM player 112. Preferably, the video decoding circuit 126 employs
`
`conventional MPEG 2 decoding techniques. Alternatively, or in addition, the video
`
`decoding circuit 126 can decode video images compressed under the MPEG 1, JPEG,
`
`10 H.261, or other known video compression techniques.
`
`In general, the MPEG
`
`compression standard is described in SGS-Thomson Microelectronics, Technical Note,
`
`MPEG Video Overview, April 1992.
`
`An audio decoding circuit 128 similarly decodes audio compressed on
`
`the DVD CD-ROM disk 113 in the DVD CD-ROM player 112. The audio decoding
`
`15
`
`circuit 128 preferably employs known audio decoding techniques, such as the Dolby
`
`AC-3 technique. The video decoding circuit 126 and audio decoding circuit 128 are of
`
`conventional construction, and are not described in detail herein for purposes of brevity
`
`and so as not to obscure the detailed description ofthe present invention.
`
`An optional memory 129, coupled to the microcontroller 120, provides
`
`20
`
`storage
`
`for a
`
`lookup
`
`table or memory map,
`
`as described below.
`
`The
`
`microcontroller 120, DMA engine 124, video decoding circuit 126, audio decoding
`
`circuit 128, and memory 129 can be monolithically integrated as a single chip 130 for
`
`use with or in the computer system 100.
`
`Referring to Figure 3, the computer 102 preferably operates under the
`
`25
`
`conventional Windows 95 operating system 152. A user interface 154, forming a
`
`high-level part of the Windows 95 operating system 152, provides an interface to a user
`
`of the computer system 100. The Windows 95 operating system 152 provides services
`
`for the user interface 154 and "hooks" for all drivers to permit operation therewith.
`
`Execution process of drivers and other application programs start from the user
`
`30
`
`interface 154. Upon request by such programs, a first menu appears to the user on the
`
`CRT 110, allowing the user to select menu items to initiate sequences of events
`
`Page 17 of 258
`
`

`
`8
`
`performed by the application, such as initiating viewing of a movie stored on the DVD
`
`CD-ROM disk 113.
`
`A DVD driver 156 employs the hooks of the operating system 152 and
`
`routes data from the DVD CD-ROM disk 113 to a DVD information file manager 158
`
`5
`
`and video objects manager 159. In general, there are two basic levels of data structures
`
`on the DVD CD-ROM disk 113, a volume information file which keeps track of the
`
`physical locations of lower level data structures, and video objects which contain data
`
`packets for all types of data. Physical locations of data on the DVD CD-ROM disk 113
`
`are provided in terms of sectors, each being 2048 bytes long. The DVD driver 156
`
`10
`
`essentially performs the task of reading data from the DVD CD-ROM disk 113. The·
`
`DVD information file manager 158 provides the DVD driver 156 with a physical disk
`
`location and a length of data. The DVD driver 156, in turn, transfers the requested data
`
`from the DVD CD-ROM disk 113 to a known location in the main memory 106, as
`
`described below.
`
`15
`
`The DVD information file manager 158 reads the volume information file
`
`from the DVD CD-ROM disk 113 to determine the physical locations of video titles,
`
`menu titles for each language, title attributes, etc. that are stored on the disk. In general,
`
`the DVD information file manager 158 controls the playback of video from the DVD
`
`CD-ROM disk 113 by requesting data therefrom through the DVD driver 156, and
`
`20
`
`sending the data to the video objects manager 159 for display on the CRT 110. Once a
`
`user makes a selection through the user interface 154, the DVD information file
`
`manager 158 looks up the location of the appropriate video information from the
`
`volume information file. The DVD information file manager 158 continuously reads the
`
`video objects from the DVD CD-ROM disk 113 and sends the objects to the video
`
`25
`
`objects manager 159. The data transfer rate changes according to the bit rate needed for
`
`the display of the particular video images.
`
`In other words, the DVD information file
`
`manager 15 8 is an upper level traffic controller that recognizes the type of data that is
`
`read from the DVD CD-ROM disk 113. Based on the type of data, the DVD
`
`information file manager 158 either processes user input from the user interface 154, or
`
`30
`
`plays or pauses video and audio from the DVD CD-ROM disk 113.
`
`Page 18 of 258
`
`

`
`9
`
`The video objects manager 159 is a lower level traffic controller
`
`responsible for the parsing of different packets of video, and time synchronization for
`
`video and audio "lip synching." Each video object contains video, audio, sub-picture
`
`data, and other data as appropriate. The video and audio packets contain MPEG 2
`
`5
`
`elementary video stream and system information, i.e., presentation time stamps,
`
`scrambling control, clock data, etc., as is known in the MPEG 2 standard. The video
`
`objects manager 159 parses the packets and provides appropriate synchronization. The
`
`video objects manager 159 routes the video packets to a video driver 160, and routes
`
`the audio packets to an audio driver 162. In sum, the video objects manager 159 is a
`
`10
`
`system coordinator. As long as the video objects manager 159 obtains data from the
`
`DVD driver 156, it routes the data to the appropriate video and audio drivers 160
`
`and 162.
`
`The video driver 160 decodes the video under the MPEG 2 technique.
`
`Likewise the audio driver 162 decodes the audio packets under the Dolby AC-3
`
`15
`
`technique, or other techniques. The video driver 160 and audio driver 162 can be
`
`implemented as a combination of both hardware and software elements. The video
`
`driver 160 outputs video to the CRT 110, while the audio driver 162 outputs sound to a
`
`speaker (not shown).
`
`In operation, the DVD information file manager 158 retrieves menu data
`
`20
`
`from the DVD CD-ROM disk 113, through the DVD driver 156, to display a menu
`
`through the user interface 154 on the CRT 110. A user inputs a request, which is
`
`received by the DVD information file manager 158 that in response thereto, allocates a
`
`location and number of sectors on the DVD CD-ROM disk 113 and requests the
`
`appropriate information from the DVD driver 156. The DVD driver 156 then reads the
`
`25
`
`appropriate information from the DVD CD-ROM disk 113 and transfers the video
`
`objects data, and/or other data, to the DVD information file manager 158.
`
`The video objects manager 159 parses the video objects into video,
`
`audio, sub-picture and othe~ data packets. The video objects manager 159 transfers the
`
`video and audio packets to the video and audio drivers 160 and 162, respectively, under
`
`30
`
`synchronism according to time stamps. The video driver 160 then employs known
`
`MPEG 2 decoding techniques to decode the video and display it on the CRT 110.
`
`Page 19 of 258
`
`

`
`10
`
`Similarly, the audio driver 162 employs known Dolby AC-3 techniques to decode the
`
`audio packets and play them back over the speaker. The decoding of audio and video
`
`continues until a break occurs, or the user interrupts the process by a user command to
`
`the user interface 154.
`
`5
`
`Importantly, the MPEG 2 decoding technique, performed at least in part
`
`by the video driver 160, requires 2 megabytes of memory because of temporal
`
`compression employed by
`
`the technique to compress information and eliminate
`
`redundancy therein. The MPEG 2 encoding technique refers to previous and future
`
`pictures to encode a current picture. As a result, the MPEG 2 decoding technique must
`
`10
`
`refer to previous and future pictures to decode a current picture. Thus, the MPEG 2,
`
`technique must store at least two images (past and future) to generate a current image.
`
`While prior MPEG 2 decoding circuits employed dedicated memory, the present
`
`invention shares the main memory 108 with the computer I 02.
`
`Referring to Figure 4, a memory sharing routine 200 performed by the
`
`15 microcontroller 120 (Figure 2) operates with the Windows 95 operating system 152
`
`(Figure 3) to request a 2-megabyte portion of the main memory 106. The routine 200
`
`can form part of the DVD information file manager 158 (Figure 3). In step 202, the
`
`microcontroller 120 initiates the routine 200 as a Windows 95-based application.
`
`Therefore, the microcontroller 120 interacts with the Windows 95 operating system 152
`
`20
`
`as a new executable application. In step 104, the microcontroller 120 requests from the
`
`Windows 95 operating system 152, 2 megabytes ofthe main memory 106. As is known,
`
`X86 microprocessors deal with physical memory in pages, each page being 4 kilobytes
`
`in size. Under step 204, the microcontroller 120 makes a low level ring zero function
`
`call to the Windows 95 operating system 152 to request 2 megabytes (500 total pages)
`
`25
`
`of

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