CA2109681C - Method and apparatus for the coding and display of overlapping windows with transparency - Google Patents

Method and apparatus for the coding and display of overlapping windows with transparency

Info

Publication number
CA2109681C
CA2109681C CA002109681A CA2109681A CA2109681C CA 2109681 C CA2109681 C CA 2109681C CA 002109681 A CA002109681 A CA 002109681A CA 2109681 A CA2109681 A CA 2109681A CA 2109681 C CA2109681 C CA 2109681C
Authority
CA
Canada
Prior art keywords
pixel
window
screen display
circuit
coded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002109681A
Other languages
French (fr)
Other versions
CA2109681A1 (en
Inventor
Donald Edgar Blahut
Edward Stanley Szurkowski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of CA2109681A1 publication Critical patent/CA2109681A1/en
Application granted granted Critical
Publication of CA2109681C publication Critical patent/CA2109681C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • H04N5/275Generation of keying signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Abstract

A method and apparatus for the coding and efficient display of overlapping windows with transparency is disclosed. Each pixel within a window which is not to be displayed may be coded as a "transparent" pixel. The disclosed method identifies those pixels which have been coded as transparent and displaysnon-transparent pixels contained in windows of lower, display priority in place of the transparent pixels contained in windows of higher display priority. A pixel coded as transparent may have associated with it an integer representative of the number of successive pixels in the window which are also transparent. A pixel may be coded as transparent by assigning to it a preselected data value which is distinct from values otherwise used to indicate, e.g., the color and/or intensity for each displayed pixel. The disclosed method and apparatus may include one or more windows which contain full motion video (i.e., television) images, each of which may also contain transparent pixels. A pixel also may be coded as a "translucent" pixel, whereby a combination of the translucent pixel and a non-translucent pixel contained in a window of lower display priority is displayed. The disclosed method may be used to efficiently recognize various conditions in the displayed image, including the collision of objects and the pointing of a displayed cursor to identified "hot spots."

Description

~ 2109681 METHOD AND APPARATUS FOR THE CODING A~D DISPLAY
OF OVERLAPPING WINDOWS WlTH TRANSPARENCY

Field of the I~ ti~..
The present ill~e.llion relates generally to video display systems and S more specifir~l1y to display systems in which a plurality of ind~,pendcnt, o~rl~yil g windows of display data may be iim~ h~c~1u~ly disyla~d.
Back~round of the ~vention Ccmputer terminal and digital h l~ ion display systems commnn1y employ a h ~1",;~ known as "bi~ ap~l" graphics. A "bitmap" is a storage array 10 of bits ("ls" and "0s") coll~syo~ ine to the intensity and/or color pattern tO be displayed at the various Ic ~ -- on a display screen. A display system uses these bits to properly m- dll1s~P the electron beam of the cathode ray tube, thereby disyla~illg a desired image. Most commnnly, these bits are stored in memory as an array, ordered in a left to right se~lu ~ ~cc within a top to bottom s~cl-~e (so~ C s 15 referred to as a raster scan order). As the display screen is scanned by the electron beam one ho. ;"...li.1 line at a time from top to bottom (and from left to right within each k~ . I scan line), the bitmap data can be readily ~r~ce5~ed S~ 1y.
Changes in the d;s~la~ ed image are ~c c~--$' ' - d by c'- - l" - lg the data in the bitmap. The display system then displays changed data on b , - scans of the ~ -20 display device.
Display systems in which a plurality of nd~ ~ en~ sets of ~ r are di~Jla~ on one display device, each set in its own ~ ' vidual ".. ihldo~ ," are well known. In the case of COIllr -based video display systems, each set of l. r '-~ ~ (i.e., the contents of each window) is often ~ s,;~ ~ with an 25 .h.Lv- ' ' program o-~cu~;ug in a multi-tasking c pl. system. Thus, a con,~L~er user can simultaneously execute multiple . rl- ~ - ~ ~ and may view the activity of, or o~ ..ise interact with, each of these programs CO~h~ y. In telc~ iun systems, one or more of the windo.. . may contain video image displays. For , ', several such t,l~,~is;on pictures may be "tiled" on a single t~ is;on 30 screen, allowing the viewer to watch two or more ~uO~ lS . - ~ Iy.
In both the -----r - display and t~,lev ~ e l~ ' - s each window may be Ih~r ~ r located within the overall display area. I~fi ~r to be lis~la~ d in each of the whldo... typically consists of a set of i,-f.,....~li,ul e1e .~
(pixels) arranged in a field of arbitrary, rect~ 5 I~llh.,.lllol~i, the~ ~ in each such window may be either ~. ;~1 r~11y or continvq11y updated, -:
~.",'~ .
, ",.
. . : . ~.

~' 210~

.
wl~ )on the display system re-displays the updated hlrul.nalion as nc~ essa.~.
This re-display is achieved by the lt;petitive scanning of the display device, typically a cathocle ray tube (CRT). On each scan, the current pixel data of each window is displayed at the appropriate location in the display area.
S ~e concept of visually "o ~ c~la~il g" windo ~. s is also well known.
Where wh~do.. ;, overlap, one window may appear to be in front of another window.
As such, the windo.. s in front partially or wholly obscure the visibility of the windows in back. For ~ in t~l~,vi ,;on systems one or more of the video images may be ;...~dc1ed in others (a t~,~,hni~lue commnnly known as "picture-in-10 picture"). Toachievetheapp~ ~c of o. ~1 ~pping windo..s,all-.indo..~are ordered in a display priority. Wherever more than one window is to occupy the same ~ -location in the display area, the pixels of a higher priority window are disp1ayed instead of the pixels of lower priority ~.;..~..;,. ~lo.~u.~., the prio~ity ordering of the w;ndo .. ~ may be ~ ~ r~ d over time. Such a . . .O-1; r.f ~ jon effects the resultant 15 displaybyalteringthea~e -~ of which~.u~..sareinfrûntofwhichother windv..s (i.e., by ' g~ng which portions of windows are visible and which portions arc obs~ d). Typically, therc is a1so a ba. ~ou..d "windo..," which occupies the entirc display area and is p~ - - - ly assigned the lowest display priority.
One ~ r ua~h to the display of O~ ' 3 ~.ind~ employs a 5 :le . - - Ale ~ to ~ which data to display at each location on the display scrccn in order to properly producc the dcsired image. Such an ~ m can be readily implementcd in ha~d~ resulting in ~iAI~., ucly efficient display systems. The display hardware may bc ll-uvid~d with pointers to the ~ ~-25 window bitmaps, as well as ~ ~ regarding the location and display priority of each window. The hardware then ~ s for each location on the display screen, from which bitmap the pixel to be d;~l~ed should be l~ d, and which pixel data within that bitmap should be used.
Theuseof1~ vlllqrwiudo. ~: ~1ir.~sthehandlingofbi~ p~ed 30 data and the manipllln~ion of the wil~do~ s, resulting in efficient display systems. In particular, the position and size inÇ~ n for a rec~n~11qr window is commonly er~ ' by only four numbers. These may be a k-..;~....1A1 location ("X") coordinate and a vertical location ("Y") coordinate to indicate the position of the window in the display area, and a width and height to indicate the size of the 35 window~ Equivalently, the four numbers used to identify the position and sizei..rV.,..A~ may be a h.-.;,.) .tA1 start locatioo ("Xstart"), a hO~ A1 end location 21035~
-3- ~;
("Xend"), a vertical start location ("Ystart"), and a vertical end location ("Yend"), thus defining the four corners of the window.
Window display systems typically display the data ~from - ' vidual window bitmaps by det~ hlg, for each pixel location in the display area, the 5 window of highest priority which includes that pixel location. This rl~ n~ir)n is strai~hlru~ d when the windows are rectqn~ . For example, when the four corners are used as dPscribed above to locate each window, that window includes a given X,Y pixel location if and only if X is not less than "Xstart" nor more than "Xend," and Y is not less than "Ystart" nor more than 'Yend.". Ful~ o~l~, once 10 the al~ulll;a~ choice of windows is made, retrieving the correct pixel data for the given pixel location in the display area is equally str~qi~ r,. ~.dl~l. Since the data is stored as a conventional rect~ lgn1q-~ array, a simple 1~q~ tic~l cq-lrulqtion is s~1ffiri ent to locate the appropriate pixel data.
It would often be ad~ tag. o -~ to include the ability to display an image 15 co~ ed in arect~n~ windowwithout li,lJla~ gthe ~loundillgportionsof that window. In effect, these .,~uluul~Lng portions of a fu..,E,.u~ld window would be made "transparent," sû that the images "behind" these portions of the rul~,~uundwindow become visible. From the viewer's ~.~ , such a capability would provide the functional e~u;~ of d;s~la~ing "~. ' .. ~" of arbitrary shape. In 20 ~----11;--- 1 ~ a~ . s, for e . 's . it is d- -' -z'l to con~h.-cl video frames C~ ~ ~pO3~ of a ba~uund scene plus a number of i-~,1i,pç~ ~lC~ contro11able objects. One such ill -- - wou1d be a ba~ d ~ ~ g of an undersea scene, with many ind "~n.~A ~1y movable fish overlaid on that scene. If each fish were displayed as a c- ~ i g~ r window, the area of each of these ~.;ndo..
25 which is outside the border of the irnage of the fish itself would inàp~
obscure part of the background (or a view of part of another fish) "behind" it. By Ji..~la~- ., only the fish image, and not the ' ~g portions of the window which contains it, a much more realistic scene would be ~ d.
Summary of the Invention A h ~ iS provided for the coding and display of a plurality of ~.~n~o .. ~ whereby a pixel in one window may have an i~de~ ~ y s~ifiPd display control p~i" ~ ~ t - whose setting affects the appearance in the display of a pixd in another window. So, for example, the setdng of the display control paratneter for a first pixel in a first window may render a second pixel in a second 35 window visible in place of ~the first pixel. In this manner, the first pixel is not ~li~la~,d reg~1Pss of the display priority ~s - ~ - t~ d with its window.

' 421~96~1 .
In accof~ncfJ with one ill~ dfi~_ e..~ho 1;~..vn~ of the present invention, each pixel within a window which is not to be di~pla~_d may be coded as "llculsllal~nl~" Then, upon display, those pixels which have been coded as ll~ul~a~ are recognized, and non-llal.~l,al~,nl pixels co..~ ed in lower prioTity S windo~., are displayed instead of the llan~alenl pixels c~f~n~ined in the higher priority wil~dfj ~,. In this manner, sperified portions of the window become ,cu~ l to the images "behind" them.
In acc..lda~cc with another illu~7lla~i~c ~ ..,hofl;..,f ~n of the present h~cnlion, each pixel within a window may be assigned a display priority which 10 differs from the display priority of other pixels in the window or the display priority of the window as a whole. Upon disp1ay, each pixel is then di~ylà~,d (or not displayed) i~c~ ;ng to its own priority reladve to that of other pixels in otherwindo.., at the same display location~ Portions of a window may thus be made transparent by ~eeigning the pixels co~ d in those po~ions a display priority 15 lower than that of the non-lla.l,~au~ pixels in a11 other windo~
A pixel marked as tran~ ~.n~ may have advalltS~g. o---ly aee~oci~t~d with it an integer r " Jr ~ ~g the number of .7~ CeJ~;~V pixels in the window which are also ~ -transparent. In this manner, the ~,îrl.;.c..~,y of a display system e- ~k)d;.. ~ nl of ~he present i..~_,.lion may be ~ ~i&~d by avoiding the need to check each of these 20 s~.cce,~ e pixels for transparency.
Images may be encoded for display by clenoting pixels as L ~ r e-~l by ~eeig g a ~ 7~ 1~ t~ ~ data value (or one of a plurality of lJlb~eleC t~ data valucs) lO
the pixel, which value is clistinct from values otherwise used to indicate, e. g., the color and/or intensity for each ~l;~h~:~l pixel. In this manner, it will not be 25 re ~ to ~-c ~ data with each pixel in addition to the data field already reserved to store pixel color and/or intensity i~-r ,. ..- ~;o~ vided there exists a least one L~ ly un~eeier ~ d data value for that data fidd.
A display system ~ hod;~ may include one or more ~.;ndo~s which contain full motion video images. Thus, e.g., u.. ~ . r ng t,l-,vision pictu~s of 30 erf~li-_l~ arbitrary shape may ~1~, ~ag~ -ly be inco~yùlat~d and c.._.la~)txd with displays of other ..i~.dc...~, CQ~ -i'''i~g transparent portions.
In - c c d -c with another fl1: ._ u..lbo~m~,n1 of the present hl~ ' the parameter ~-sa- - ~ with a first pixel in a first window may r~nder a second pixel in a second window visible, but in such a manner that the dpp ' - ~ulCC of 35 the second pixel is effected by the first pixel. For e ,1~ the first pixel may be coded as "I"~ "ce ~1 " so that the resultant display (of the second pixel) appears on --' 21~68~

the display screen as a "colnbination" of the two pixels. In particular, although the second pixel will become (partially) visible, the first pixel will remain partially ' visible as well.
Brief D~3~ " of the D.d~.;..~
FIG. 1 shows a block diagram of a prior art display system for displaying o . -rl&p~d windo.. ;,.
PIG. 2 shows the detailed strocture of a window state machine included inthe systemofFIG. 1.
FIGS. 3 and 4 show wi..do..~ c-,~u~ images which have been 10 coded for llans~ e~ according to an e ..~l.od:...~...t of the present in~,l.tion.
FIG. S shows a ba~ und scene over which the windows of FIGS. 3 and 4 are to be overlaid.
FIG. 6 shows a resolting display of the background scene of FIG. S
overlaid with the partially ~ p~u~ windo .~ s of FIGS. 3 and 4 acco.-ling to an 15 e~ of the present in~ lion.
FIG. 7 shows a block diagram of the system of FIG. 1 ...~)if;~A to provicle for ~ in acc~ re with an ~ .. h~li.. - of the present in~vnlio FIG. 8 shows the detailed structure of a tr&l~p~ enc~ detector circuit included in the system of FIG. 7 in ~ e with an e~ of the present 20 h~e..lion.
FIG. 9 shows a block diagram of the system of FIG. 1 modifi~d to providc for transparency in acc ' e with a second e --.1~;~ of the present FIG. 10 shows the detailed structure of a ~ detector circuit 25 in~lude~l in the system of FIG. 9 in accc, J~u~ce with the second çmhodim~nt of the present i~ ti~.
FIG. 11 shows a portion of the block diagram of FIG. 7 ~lifi~d to L~c(~ t~ full motion video windo.. i, in acccllckulce with a third ~ 1 of the present in~
30 1)~ d Description FIG. 1 presents a block diagram of a prior art display system for the efficient display of ~.~ P;~e ..;ndo.... In particular, the illustrated system plU-]U~ as output the pixel data for display at a given display location on a display screen. Note that the display screen itself may not be local. That is, the display data 35 resulting from the system i~ ted in FIG. 1 may be sent through a c~ "c channel to a remote location at which the display screen is located.

:' 21096~1 Moreover, this data may be sent in a co-lJ~ ;ss-,d fo~nat for efficiency.
Input signals Xscreen and Yscreen are provided to the system. These signals l~iplbsC.Il the ho. ;,.f)~ l and vertical co~ldi.lat~,s, l~;,pc.;li~_ly, of the screen location to be displayed. Output signal pjY~ ' is ~,lvdu~.,d as output by the 5 system for display. The system COI.~ eS a plurality of Window State Machines 12a, 12b, . . . 12n (h~ i~hl "12"), Priority Encoder 14, Window Inrjl,lJdtion MemoIy 16, Multiplier 18, Adder 20 and Frame Buffer Memory 22.
Window State M~ s 12 are ie~nsi~_ to input signals Xscreen and Yscreen. Each pl(nluces a l.,;.~Jef ~iv~; output signal hit#a, hit#b, . . . hit#n which is 10 supplied to Priority Encoder 14. Each Window State Machine 12 also receives -~
;..r... ",~ G~ ,s~,n~ g the size and display location for a particular one of the wh~do.. . to be displayed. Specifir~lly~ each Window State Machine 12 asserts its output signal if the current pixel display location (Xscreen, Yscreen) is within the b ~ - - s of the window that has been assigned to it, as ~l- t~ d by the size and 15 display location ;.~r.. ~lin.~ provided. ~ this manner, the signals hit#a, hit#b, hit~n are i.. lic~ of the set of wh~do .. ~ which are located so as to include the current pixel display location. Thus, a window in this set with the highest display priority is the one from which the pixel to be di~ d at this location must be lG~ ,d. Illu~t~ circuitry , lt - _ the desired function for Window State 20 r ~rhin~5 12 is shown in detail in FIG. 2 and ~1esrnbed below.
The .. Lldo .. ~ to be Lsplay~d are assigned to Window State Machines 12 in order of de~ &s~g display priority. In particular, the first Window State Machine 12a ~ 5 whether the window of highest display priority is "active,"
i.e., whether the current display location is within that window; the second Window 25 State r~ 12b d~ t .~ e5 whether the window of second highest display priority is active; and so on. Since each window to be di ~pla; _d (except the bacl,~.ou 1 "..indc,..") must be assigned to a unique Window State ~-~ it should be a~r ~ that the number of Window State M~ - 12 should be ~rfi~ to provide for the .. -~;. u ~ number of ~. i.ldc .. ~ it is desired to display.
30 Sixty four wh~do .. i. has been found to be s-:rfi~:e ~l for most ai r ~ r s, but the actual number can be greater or lower according to need.
Priority Encoder 14 is l~on;,;~e to signals hit#a, hit#b, . . . hit#n from Window State M ~r~ -s 12 and pr~luces an output signal windo~ . This output signal is supplied to Window Tn rO~ on Me~ry 16. In particular, output signal 35 window# of PrioIity Encoder 14 specifies the number of the highest priority window which includes the current pixel display location (Xscreen, Yscreen) based on :, - 2 1 0 ~

signals hit#a, hit#b, . . . hit#n. If none of the wh~do.. ~ includes the culrent pixel display location, Priority Encoder 14 outputs n+l for the value of ~. -' .~11, ep~v~ g the background "window." Thus, the pixel to be di~la~,d at the current locadon is 11. tr ..~ ed by Priority Encoder 14 to be one cl~l;t,.;~r,d in the window 5 in-licnt~d by signal window#. Priority Encoder 14 may be ;.. ~ ~d with ~ ~
con~vliLiollal c~ e.~t~ familiar to those of ordinary skill in the art. ~ ~ -Window T~lr~ ;O~l Memory 16 yluduces output signals width[i] and ~ - -offset[i~. These output signals are supplied to Muldplier 18 and Adder 20, lG~ y. Muldplier 18 yl~lucvs an output signal lG~yO[lS;~v to Window ;- -10 T -r- - -- on Memory 16 output width[i] and to system input signal Yscreen. This signal is supplied to Adder 20. The output signal of MullipL;e,r 18 is the l~v ~product of the values of its two inputs. Adder 20, in turn, yl~luc'vs output signal FrameBufferAddress IGS~)On~ v to Window T -~ on Memory 16 output 0ff9et[i], the output of Mllltip~ 18 and system input signal Xscreen. The output15 signal of Adder 20 is the 1 sum of the values of its three inputs.
For each window to be d;~l.la,~d, Window T-r~ Memory 16 contains data representative of the location of the co..c~ window bitmap (c ~ _ the pixel data of the window) in Frame Buffer Memory 22. Window T ~( or Memory 16 also contains data le~lGse.~dve of the size and display 20 locadon of the window. In pardcular, Window T~C'~ I;O~ Memory 16 stores two .. - : for each window to be d;~là~d. The first quantit,v stored is the width (hc--~ size in pixels) of the window, and is supplied by Window l~.f~
Memory 16 as output signal width[i]. The second quantity stored is an "offset,"
supplied by Window T ~~~~ ~ '~ Memory lC as output signal offset[il. Signal 25 offsd[i] has been pre~ and stored in Window T ~~~ ~ ~ '' r r~ Memory 16 ~ cc,~ to the following equation:
offset[i] = ~'mdo~BaseAddr[i] - Xstart[i] - (Ystart[l] * width[i]), (l) where ~'indo~BaseAddr[i] is the starting location of the c~ d;~E window bitmap in Frame Buffer Memory 22, Xstart and Ystart are the display location 30 holizontal and vertical coo. " - ,s, Ib;.~ ,ly, of the upper left hand corner of the window and width[i] is the width of the window in pixels. In this manner the signal ;
FrameBufferAddress, as COI~ ;I by Multiplier 18 and Adder 20, will contain the location in Frame Buffer Memory 22 of the particular pixel within the window bitmap of the window selected by Priority Encoder 14 that is to be dis~là~d at the ~' 210~68~

current display screen location ( Xscreen, Yscreen). This can be seen by the following analysis:

F~ ufferAddress = Xscreen + (Yscreen * width[i]) ~ of~set[i]
= WindowBaseAddr[i] + (Xscreen - Xstart[i]) ~ (2) S (Yscreen - Ystart[i]) * ~vidth[i~
Thus, given a bitmap stored in the conventional manner as an array ordered in a left to right se~lu~,nce within a top to bottom se~lv- .n~"
Fr ~ ferAddress will point to the reladve location (Xscreen - Xstatt), (Yscreen - Ystatt) within the bitrnap of the window selected for display. This 10 locadon will contain the pixel data to be displayed at the current location, Xscreen, Yscreen.
Window T.,rr ~ ir n Memory 16 may be h~ ..f ~ d with a conventional RAM (R~n-lom Access Memory) c~r other similar storage device familiar to those of ordinary sldll in the art. M-lltirliP- 18 and Adder 20 may also be 15 ~ , '- ~ d by cvll~v.llional co..~ e .l~ (i.e., m~ltipliP,rs and adders, Ib~vvthlvly)~
Frame Buffer Memory 22 is e;,~o~ to output signal FrameBufferAddres~ of M nltipliPr 20 and ~/l~luces system output signal p;v~ln_~ which provides the pixel data to be di~l&~_d on the display device at the current display location (~ ~ Yscreen) The window bitmaps for each of the 20 ~,. ;n~u . J to be di~ld~ d are I~Lvi~lually sto~ed in Frame Buffer Memory 22, and data IG~ GS'v~lla~ of the location and ~ r -~ -'e of each bitmap within the memory is stored in Window T _I'___ '-' Memory 16 as dPs~ihed above. Frame Buffer Memory 22 may also be ~ ' - npntp~ by a con~v~ioi~al RAM or other similar storage device familiar to those of crdinary skill in the art.
It should be apprecialed that there are alt~,."~i~ ay~ ,a~l,es to the clc,~-;l-ed herein by which the signal Fr ~ ~~1 ~~. Addres~ may be ~ ~-derived. For eY~ nrlP it is possible to avoid the process of rmlltir~ on and addidon by a ~ ,e wherein a counter is added to each Window State Machine 12. ~ particular, at the start of each frame (each scan ~f the display device, 30 beE,h~ e with Xscreen, Yscreen = 0, 0), the counter of each Window State Machine is loaded with the Window Base Address of its co- ~- S~ e window (i.e., : -the starting location in Frame Buffer Memory 22 of the bitmap for that window).
This can be achieved by ~e inco,~,aLion of an uJ-l;l;. n~l register, which stores the Window Base Address, into each Window State Machine 12. For each screen ''" ~' ' ~"

2 ~ g :L :

location at which the output signal hit#a, hit#b, . . . hit#n of a Window State Machine is asserted, the c~ spo~ n~ counter is i~.~'h,n~f,l.le~ Thus, the address co.~n.il-~,d in the counter will point to the next pixel in that window's bitmap in Frame Buffer Memo~y 22.
S In this manner, the counter of the Window State Machine 12 which co~lb~Jnds to the window selected by Priority Encoder 14 will contain the address in Frame Buffer Memory 22 of the pixel to be displayed. T.he address contAinPd in the aforesaid counter may be readily selected by a selector device controlled by the signal window#, and then m~y be output as the signal Fr -~r frerAddress.
10 Although this t~rhniqlle is likely to be more efficient with respect to e ~ iol~
speed, it requires a multiplicity of extra devices (an a~ counter and register for each Window State Machine), The teçhni~lue i~ strat~l in FIG. 1 requires only a single mllltipliP,r to perform the equivalent flmrtion Thus, the choice of whichap~,~,a.~ll is to be l.lefcll~,d depends on the cil.;u~ ces lS FIG. 2 shows the detailed circuit structure of each Window Sate Machine 12 of FIG. 1. The circuit operates by L - nr g the current display location (circuit inputs Y9 e , Yscreen) with the corner 1~ l in~s of its assigned window to dei ~ whether the culrent location is within the bc~ of the window. It co- ~ ~s R~gio~ers 32, 3C, 42 and 46, Co...~ i~Ab~ 34, 38, 44 and 48,20 Flip-flops 40 and 50, and And-gate 30. Registers 32, 36, 42 and 46 are loaded with the ~ ~ 1 start location (Xstart), the ho- ;,onl ~' end location (Xend), the venical start location (Ystart), and the vertical end location (Yend) of the assigned window, In OL - 1, when the value of Xscreen reaches Xstan, Colllpa. - 34 -25 sets E71ip-flop 40, and when the value of Xscreen reaches Xend, COIl~pd~atO- 38 resets Flip-flop 40. In this manner, Flip-flop 40 is set only during the period when Xscreen is between Xstart and Xend. ~Simil '~, when the value of Yscreen reachesYstart, C-m~ _ 44 sets Flip-flop 50, and when the value of Yscreen reaches Yend, G~ >= At~.. 48 resets Flip-flop 50. In this manner, Flip-flop 50 is set only - 30 during the period when Yscreen is between Ystart and Yend. Therefore, both Fli~
flops 40 and 50 are simultaneously set only when Xscreen is between Xstart and Xend and when Yscreen is between Ystart and Yend. Thus, And-gate 30 assens ~he circuit output signal hit only when Xscreen, Yscreen is within the b~1ulld~ics of thc assigned window.

- 21~681 ' FIGS. 3 and 4 show windows which have been coded for display according to an e~-lbodi,-~ of the present invention. In FIG. 3, the image of object 52 is ~;ot.~ u ~l in window 51. Area S4 is that part of the area of window 51 that does not Cf. n~ i part of the image of object 52. In acco~ ce with the objectives 5 of an e LllboLI,l~n~ of the present invention, it is desired that object 52 be coded for display so that when overlaid on images co ~l ~ ;. .f d in one or more other windows, object 52 is displayed without the contents of area 54 being displayed as well. In acc~s.d~lce with one illustrative e--~bo~ of the present in~ -lion, this may be achieved by coding the pixels in area 54 as "~l~l~bnl.ll In this manner, these 10 pixels will not be displayed by the system. The images ~ u~ i... d in other windows "behind" area 54 of window 51 will be displayed instead.
In acc~ e with another illu~llali~e e ..ho~ of the present invention, these selected pixels may be assigned a display priority which differs from the display priority of the ~ el~t,~ d (i.e., non-~.n ~y~.~nl) pixels in the 15 window. Moreover, this different display priority may be lower than the display priority of all non-l.dns~ pixels in all win~ .. s. In such a manner, the visibility of those areas of other ~~ indo ~. ~ which appear "behind" area 54 (which would ulh~ . ;se not be di~l~ d) will a~l~, " s ~ -ly not be obscured from view when window 51 is di~ d.
In FIG. 4, the image of object 56 is CQ~ ;Ar~ in window 55. In this case, however, both area S8 outside of object 56 and area 60 inside of object 56 are not part of the image of the object, and it is i ~ ~G desired to code both of these areas as ~ r G
FIG. 5 shows window 61 ~r - ~ g ba~l~uund scene S3. In ~ ~ -25 ac~ with an e-..l~J;---~ of the present in~enlion, it is desired to display the image of object 52 in front of background scene 53, with the image of object S6 in front of the image of object S2, in turn. By coding areas 54, 58 and 60 as Llan~ nt ~ in aeco,d; -e with one ~ o~ of the present in~nliol, the resulting display of F.G. 6 is achieved. In this display, object 56 is the ~ ' image, the image of 30 object 52 is in the middlc ground, and scene 53 is in the bac~u.u~d. Moreover, area S4 has become (i.e. been coded as) llans~ G.I~ so as not to obscure the visibility of that part of scene 53 outside of the b ~)L lC1 ' - S of object S2. Also, areas S8 and 60 have become i ~yr - so as not to obscure the visibility of either that part of object S2 outside of the bù- ~ ~d ;~ 5 of object 56, or that part of scene 53 outside of 35 the bo~ ;es of object S6.

.' ', ~ ~
:- :

2 1 ~

FIG. 7 shows a block diagram of the system of FIG. 1 mfYlifi~l to provide for ~ o~ ;y in accold~lce with one en~ho~limPnt of the present invention. The mr~ified system recognizes pixels within a window being displayedwhich have been coded as transparent as, for ~ r 1~ ~ in the ill. ~ o~C of FIGS. 3 5 and 4. The system a~corrlin~ly displays pixels cc~ ;ntd in o~elldl~c~ windo.. O of lower priority instead. The i~ stra~d system pl~ucf,S as output the pixel data for display at a given display location on a display screen, as does the prior art system of FIG. 1. Specifically, input signals Xscreen and Yscreen are provided to the system, lc~lcSf,lllillg the h~ o~ and vertical coo- lh.L~.,s of the screen location to be 10 displayed, and output signal PixelData is pl~lu~,f,d for display. In addition to a plurality of Window State Machines 12, Priority Encoder 14, Window Tnf~rm~til)n Memory 16, Multiplier 18, Adder 20 and Frame Buffer Memory 22, as co..~ d in the system of FIG. l, the mfulified system of FIG. 7 also çompri~es Binary-to-linear Decoder 62, T - ~ ~ency Data Memory 64, and Tlallo~ y Detectors 66a, 66b, .
15 . . 66n (h.,.~,~t~,. 66).
In the system of FIG. 7, the OUlpUt signals hit#a, hit#b, . . . hit#n of Window State ~ u'~ e5 12 are supplied to Transparency Detectors 66 rather than directly to Prif~ity Encoder 14. These int~ ,ning circuits flf t ~ ...; f~t, whether the pixel initially selected for display has been coded as llanopalbnl. If it has been so 20 coded, the "hit" signal hit~h/hit#b/ . . . /hit#n for the selected window is masked (i.e. ~ ), thereby forcing Priority Encoder 14 to select an alternate window.In particular, Priority Encoder 14 will select the window of next highest display priority to the window whose hit signal has just been masked for which the current pixel display location (Xscreen, Yscreen) is also included in the l~oullf~ies 25 thereof. Then, of course, the circuitry ~.IbO~IU ~ to Prionty Encoder 14 willaJv g~o~ y retrieve the appropriate pixel data from that ~-~ls~~ y chosen window. This pixel data ~ s~ part of an image in a lower priority window which has been revealed by the llan~ll. uncy in the higher priority window at this location.
Moreover, if the re-selected pixel is then rlf t~ ,d to be i .n r enl by another one of T~ ncy Detectors 66, the process will iterate. This iteration will continue until either a non-~ pixel is found for display at the current location or until the bac~,und "w~do .. " (window~ = n+l) is selected by Priority Encoder 14. (Resall that the bacl~uund window occupies the entire display scleen35 and contains no transparent pixels.) When either of these tertninal c~ c is reached the cu~rent value of PixelData may be declared valid and displayed at the 21~81 current screen location (Xscreen, Yscreen), and the screen locadon may then be advanced. In this manner, the pixel displayed ae each screen locadon will be thenon~ spa~c~nl pixel of highest priority (i.e., in the window of highest priority) whose window is po~ ed such that the pixel is located at the current screen S location.
Spec ifi~ y, Tl~ns~uv.lvy Detectors 66 are ~v;.~rlai~v to output signals hit#a, hit#b, . . . hit#n of Window State Machines 12a, 12b, . . .12n, l~,~cli.vly, output signals sel~cl:,tn select#b, . . . select#c of Binary-to-linear Decoder 62, lb~evli~vly~ and output signal T~ encyData of Tlanaya~vll~;y Data Memory 10 64. ~luallalB~ circuitry which ;..~pl~ te one e,..hof1;-..f ~l of the above de~ihed function of Tl _ r ~.~vy ~etectors 66 is shown in detail in FIG. 8 and df scnhedbelow.
Binary-to-linear Decoder 62 is lvi,lJon;.;-v to output signal ~.~ ' .~l of Priority Encoder 14 and plv. Iucvs output signals ~'er~.~, select#b, . . . and select#c.
15 The decoder asserts the one output signal s~lcel,~'~le~tlYb/ . . . /s~le~ which C~Ollb~JOndS to the number spec;fied by input signal window#. This enables the -CC~S~ JO~ Tl~u~s~ Detector 66 to check for i - r v~v~ of the given pixel in the selected window. Binary-to-linear Decoder 62 may be i..l~l ~ by a co.... ~ c.lLiollal clecocler or similar cv~ e- ~t' familiar to those of ordinary skill in the ;
20 art.
Tra~r ~ Data Memory 64 is l~ O..S.~, to output signal FrameBufferAddres~ of MulX~lie 20 and IJluduces output signal TransparencyData, supplied to each Transparency Detector 66. In palticular, thismemory stores thc transparency data (e.g., whether a pixel is ~ alJ~u~ ) for each 25 pixel of each window. The data is - 1v v ~ ~ly o~d~d in the memory in an identical format as are the window bitmaps, as arrays ordered in the c~n~en~nal left ~ ~ ~
to right order within a top to bottom SC~lue'~re Moreover, the ~ / data for ~ -each window may be stored at the same memory location in Transparency Data ~ -Memory C4 as are the window bitmaps in Frame Buffer Memory 22. In this !manner, 30 both memory devices aJ v ~ag~ / use the same input signal (FrameBufferAddress) as a look-up address, ob.- lg any need for separate add~vss e~1rll1 '~~~ T ~ ~/DataMemory64maybe~ ,1~ 'bya co~ RAM or other similar storage device familiar to those of ordinary skillin the art. '.~lolv~,.vl, Transparency Data Memory 64 and Frame Buffer Memory 2235 may be a~v~ o- .ly conQ~ into a single memory device. -~
. :
~' ' -~'' 2:~968~

FIG. 8 shows the circuit structure of each T~ dlbll-;y Detector 66 according to one e..~ho~;..,. n~ of the present invendon. In this ~ lbo.lh~ eachpixel has an :~esoci~ted "flag" (a one bit data item), Tr n~ ", ."~Flag. This flag indir~teS whether the pixel has been coded as ~ nL Mol~,o._., each S tlallspal~,nl pixel also has an ~eoci~d integer, RunLength. This integer in.l;~ ~t- S
the number of s. cces~ pixels in this window from the current pixe1 forward which are llan~lJa.~,nl. In this manner, a coluin~l~uc se~luc~lce of Llan~al~ll~ pixels may be adv~nt~e~oncly ~ Jcess~d with hlcl~iased ~,rrl~ ;y, since Tlal~ lcy Detectors 66 often need not check each pixel for transparency. Rather, the Tna IS~ y lû Detectors will inhibit their output ('hit') signal for the entire length of the "run" of p~ ~nt pixels as speçifi~d by the value of signal RunLength. Note that çQ~,Iin.~ol~c Se~uen~eS of transparent pixels are, in fact, a very common occull~.lce, since, in general, entire areas of windows may be adv~nt~eeoue,ly coded for .l.;y. Both of the afc.~ inne~ data items which may be ~ d with 15 each pixel are stored in Tlan~ y Data Memory 64.
Specifir~1ly the T~ s~ n~;y Detector circuit of FIG. 8 provides output signal masked-hit which is acdve when input signal hit-from-WSM is active unlessit has been ~let~ rd that the chosen pixel from the selected window was coded asInput signal hit-from-WSM is ro~ ~ t~vd to the hit signal (hit#a/hit#b/
20 . ., /hit~n) from the Window State Machine which c~ pOndS to the given Tra..s,~r rP~ncy Detect~r~ That is, hit#a is con~ t -d to the hit-from WSM inputsignal of Tra r h-~ y Detector 66a, hit#b is co:~ h~l to the hit-from-WSM input signal of Transparency Detector 66b, etc.
Input signal Tra--~pr -~ :~Data cc.~ es two cc ~ - data items, 25 Transparency~lag and RunLength. Since Tr. i~ encyFlag is a flag signal and thus requires only a single bit, it is adv ~e~oue to provide both signals in a single data field (for Y ~ , a single byte). This data field may provide one bit (for e , '~, the high order bit) for the flag data while the ,~ .,- ~;...1~" of the field contains the data RunLength. If the number of successive l~ansl~a~enl pixels exceeds the 30 f~ , capacity of the signal RunLength, the t- --r ~l~y data can be coded as a plurality of ~ucces~;~e runs of shorter lengths.
In r~lditinn~ the TlanspOlcn~;~ Detector circuit of FIG. 8 is provided with input signal clock and input signal ~select. Input signal clock is c~ d to the pritnary clock signal of the system which causes the values of the current screen 35 display locadon (X~screen, Yscreen) to be ad~dnced to the next location. This input clock signal is used by the T~ s~ lcy Detector circuit to .lf tr .~ e when a colllh~uous run of successive Ll.lns~)a.bnt pixels, as i~ t~ d by input signal R--nl .f~ng~l-, has been eYh?uQ~e~ Input signal select is conn~,tvd to the collvjpol,Lllg select signal (select#a/,f lf 1.~/ . . . /~le~ll1..) from Binary-to-linear Decoder 62. That is, select#a is co~ cl- ~ to ~he select input signal of T~ spalbn~;y S Detector 66a, select~b is Co~ cct A~ to the select input signal Of Tla~ ,n~;y Detector 66b, etc. This input signal is used to sample the flag T~a~ ncyFlag and also to store the count RunLength so that it may be de~lb~ t-~l with each clock of input signal clock to ~k ~ r when a cou-i.~.... ~s run of ~ucces~;~v ~alvnl pixels has been eYh~ e-0 ~perifil~?lly~ the Tla.l~alb.. ~ Detector circuit of FIG. 8 compnies -Latch 72, And-gate 74, Counter 76 and Zero Detector 78. The data input and the load '~latch enable) input of Latch 72 are supplied by input signals Tr. 1. e .~Flagandselect, Ibs~vli~_ly. Thus, ~.hvnv~v~ thewindow COIlb~ e to a given Tren~r _nv~ Detector is selected (by Priority Encoder 14), 15 Latch 72 will be loaded with a flag which ;UJ;rA~ s whether the pixel of that window which is to be vi~la~_d at the current locadon has been coded as li~ r bnt. If it - ~ i has been so coded, the (inverted) output of Latch 72, which is p~-~.Wcl to And-gate 74, will inhibit the active hit-from WSM input signal from being passed through to output signal masked-hit. That is, masked-hit will be made inactive ~.hvnc~vl a 20 pixel coded as i - r - ' has been initially chosen for display. Latch 72 and And~
gate 74 may be , le ~ with co..~ ' cc~
Counter 76 and Zero Detector 78 provide the means for keeping the output signal ma~sked hit disabled lhvugLOul a c, 11~ run of successive transparent pixels, as sperifi~d by input signal RunLen8th. In palth '~, the 25 parallel data inputs of Counter 76 are supplied by input signal RunLength, the load input is supplied by input signal select, and the ~~vlv.l-vnl input is supplied by input signal clock. Thus, ~ CI the window cc...5~ndi~g to a given T~ r..,~
Detector is selected (by Priority Encoder 14), Counter 76 will be loaded with a count ~ -of succvss;.v tr~q-n~p-~ pixeis, if such a count has been provided on input signal 30 RunLength.
The count .~qi~ . d in Counter 76 will be def~ d each time input signal clock is ~iv~tvd, that is, each time the current screen display localion (Xscreen, Yscreen) is advanced. Thus, when Counter 76 has been dcv~.. ,cnt~ ~o - -zero, the run length of ~ucces~;~v llan~alvnl pixels ~peçifi~ has been exh 35 Zero Detector 78, which receives the parallel data outputs of Counter 76, will al tha time activate its output signal. This output signal is provided to the reset inpul of 21~96~1 Latch 72, thereby resetting the latch. Undl the count reaches zero, Latch 72 will remain in the state to which it was set by the first lranSlJa.v.lt pixel vnco, Gd in the run of ~.lcces~ an~palvnl pixels. Thus, the output signal ~~~ d ~ will remain disabled by And-gate 74.
S Note that both the ll~lS~)alGllvy flag and the run length data are adv~n~ou~ly set for all llan~vnt pixels in a run of ~uccessivG ~ a vnt pixels, as if each pixel were the first llan~alvnl pixel in the run. This results from the fact that a previously obs~;uled window (i.e., one of less than highest priority) maybecome visible at a point in the higher priority window where there is a ll~,s~d.Gn 10 pixel within a run of 1~ r vnt pixels, as the cu~ent screen display location, Xscreen, is advanced. In this case, the newly visible window's T~ bnvy Detector may not have been loaded with the data lGI,lG~enling the run of h_r r enl pixels.
If the pixel to be ~;s~la~vd is not ~ , Counter 76 and Zero 15 Detector 78 will not have a m~ ~ningf -l effect on the c~ e - of circuit since Latch 72 will already be in a reset state. Therefore any data loaded into Counter 76 for such pixels will be ~.Gle~ t~
Counter 76 may be ~ r~~ - d with cor.~ - ~I C(SIIlr ~ ~ ~ familiar to one of ordinary skill in the art. For eY ' e, if input signal RunLength is 20 &O~ ed of 7 bits (one bit less than a byte), a 7-bit parallel load, parallel output up/down counter may be used. Zero Detector 78 rnay also be ~ with r ~ C~ , such as a muldple input Nand- gate having one input for each parallel data output of Counter 76.
Note that pixels that are not coded as tl~.n~a,-v.lt do not make use of tne 25 RunLength Seld of data as stored in T ~F enc~ Data Memory 64. Moreover, pLxels that are coded as transparent do not make use of their cc,. .~ n.l;i~g pixel data as stoned in Frame Buffer Memory 22. Thus, in another illustrative e n..'~l;. ..~ n~ Of the present ill~ v~lliOIl, the two . . ~ - ;es may be adv~ ~ta~ou~ly cc ' ~ -1 For - . ~ Frame Buffer Memory 22 may be used to store both the ~lan~v,.v~r flag 30 and a data field which stores either pixel data for non-l.an~a v,J~ pixels or a run-length for tran;~ _ pixels.
FIG. 9 shows a block diagram of the system of FIG. I mo~1ifie~ tO
providefori r 1~ in~rc~ ewithanother e- kY~ ofthepresent in~v,l~,ion. In this system, pixels are coded as transparent by ,qc~ ing an ull.e.~isv 35 unqcci~d data value for the pixel data as st~ed in Frame Buffer Memory 22. It is most common that ~e pixel data consists of an encoded nv~ v ~. IiO~ of color - 21~9~

and/or intensity h~ro~ ;on which is ~lu.ided to the display system for display on the display scrGen~ In some cases, there may be possible çn- oding~ of the pixel data ~ -which have not been assigned to any of the color and/or intensity in-lirDtit~nc which need to be lG~lb~v~llGd~ For example, if 8 bits are provided to Ivl,lb~enl the intensity S level of a pixel in a black and white display system, but less than 64 possible intensity levels are r1ictingllish~d by the system, one or more of the ~mAining enrodings of the 8 bits may be used to indicate that the pixel has been coded as ~ -~
Gv~
The illustrated system p~uduvvs as output the pixel data for display at a ' 10 given display location on a display screen, as does the prior art system of FIG. 1 and the e-..lx)~ 1 of the present invention illusttated in FIG. 7. ~put signals Xscreen and Yscreen are l)luvidvd to the system, Ib~,~b~enlh~g the hCI~ IA1 and verticalcoordinates, lG~IJvvli~vly~ of the screen location to be displayed, and ûutput signal PixelData is l~uducvd for display. In addi'don to a plurality of Window State 15 M~~hin~s 12, Priority Encoder 14, Window Il,r~ - Memory 16, MulliplPv.~ 18, Adder 20 andFrame Buffer Memory 22, as CQ ~:'.n~l in the system of FIG. 1, the '-y1;r~r{l system of ~IG. 9 also CQ ~p~ ,S Binary-to-linear Decoder 62 and Transparency Detectors 82a, 82b, . . . 82n (h~vaÇtv~ 82).
Note t-h-at unlike t-h-e system of FIG. 7, there is no need for T n ,~ Vnl;y , 20 Data Memory 64 since th~e tran pr vnv~ fo~ is co~ d di~ectly in the pixel data. Theref~re, T , -vn_~ ne~rt~rs 82 are lv r l~_ to output signals hit#a, hit#b, . . . hit#n of Window State ~ 12a, 12b, . . . 12n, lv~ ly, output signals select#a, select#b, . . . select#c of Binary-to-linear Decoder 62, lvi,~vLi~vly, and (unlike Transparency l~etect~rs 66 of FIG. 7) output signal PixelData of Frame 25 Buffer Memory 22. Like their cou.~tv.~artS in the system of FIG. 7, T--~- ~pr Vl.
net~ct~s 82 ~"t ~ - whether the pixel initially selected for display has been coded as i ,Dr ~nt If it has been so coded, the "hit" signal hit#a/hit#b/ . . . /hit#n for the selected window is masked (i.e. disabled), thereby forcing Priority Encoder 14 to select an alternate window.
FIG. 10 shows ill~ circuitry which ~ ~' tc the structure of one c-~ of the above des~hed function of Tra ~ ~,ncy Detectors 82.
Like the circuit of FIG. 8, the T -r ~Cy Detector of FIG. 10 provides output signal ma~ke~d ! which is active when input signal hit-from-WSM is active unlessit has been d~ t ... -~d that the chosen pixel from the selected window has been35 coded as ll,...c~ Input signal hit-from-WSM is again c~nl-F~t~,d to the hit signal (hit#a/hit~b/ . . . /hit#n) ~neT~ted by the Window State Machine which .

- 21~9~ - 17 -collb~ponds to the given Tlallsl)a~ cr Detector. That is, hit~h is co~n~h d to the hit-from-WSM signal of Tran~a~ y Detector 82a, hit#b is col-~e~t~d tO the hit-from.WSM signal of Tlan;~lJal~ ;y Detector 82b, etc.
Input signal select is co~ d to the co.lbspo~-.1;t~e select signal S (select#a/select#b/ . . . /sele~ .A) from Binary-to-linear Decoder 62. That is, select#a is con~r~,d to the select signal of Tl~lns~a~ y Detector 66a, select#b is co~ t~d to the select signal of Tl 7'~ Cy Detector 66b, etc. Like the circuit ofFIG. 8, this input signal is used to sample the flag which in(1i,~ S whether thecurrent pixel has been coded as 11 - ,r, ~,nl. Unlike the circuit of FI~:3. 8, however, in 10 this ~mba ' - the flag is to be c,- -~e ,,t~ d from the encoded value of input signal PixelData, rather than being directly provided. Thus, the Tlalls~ lcy Detector of FIG. 10 co...~ es Tlans~Jal~.lcy Code Recognizer 86, as well as Latch 72 and And-gate 74.
The input of Tlans~ y Code ReCG~,IIi~I 86 is supplied by input 15 signal ~ ~!nd ~ . and its output is supplied to the data input of Latch 72. The load (latch enable) input of Latch 72 is supplied by input signal select. Specific~lly~
T - r Ci~ Code Reco~;..i~. 86 produces an active output signal if and only if the value of r ~nJ~ is that value (or one of those values) which has been assigned to encode pixels as ~an~inl. Thus, ~.h~ . the window Cu~ e to a given 20 Trar r .~ Detector is selected (by Priority Encoder 14), Latch 72 will be loaded with a flag which ~ ' ~ - whether the pixel of that window which is to be displayed at the current location has been coded as transparent. If it has been so coded, the -(inverted) output of Latch 72, which is ~.ùvided to And-gate 74, will inhibit the active hit-from-WSM input signal from being passed through to output signal 25 masked-hit. That is, just as in the system of FIGS. 7 and 8, masked-hit will be made inactive ~.h~,...,~_. a pixel coded as transparent has been initdally chosen for display. T pr ~in.,~ Code ~eco,,n;~ ~ 86 may be ~ 1 - 1--- d with convendonal co~ such as gates or digital COlllp~ ~, familiar to those of ordinary skill in the art.
FIG. 11 shows a portion of a block diagram of the system of FIG. 7 ...~l;r.~d to include circuitry to adv~ g. ou~l~ i,.coll,u...t~, full modon video ~.hldo.. ~. Although the pixel data stored in and let.;_~_d from Frame Buffer Memory 22 of the systems of FIG. 7 or FIG. 9 may be used to Icpr~ an image generated in any manner, alt,.l.at;\, methods for the retrieval of pixel data which 35 Ic~l~,scnl full motion video (i.e., t~,lc~ ;on) images may be l~luvidcd.

2 1 ~ .t ~ :

In particular, television images are updated frequently (con~monly at a rate of 30 frames per second), and tLvlcr~lb the pixel data may change rapidly. For example, this data is likely to be gl~n~orat~d "on-the-fly" from a television signal, in such a manner that it is not con~vnivnl or ecol)o~ to store the pixel data in a 5 memory prior to its display. Alternadvely, the data may be provided or stored in a co~ nv,scd or other non-bii~lla~pcd format, making it i..- rr~ e~l to require the g~ on of a bitmap for storage in Frame Buffer Memory 22. Thus, the system of FIG. l l i1111~tr~t~s one 1~ ..ho~ I of a display system in which windo..
C~J"'1" ;~ g full motion video images may be di~pla~vd COnVUI~CIJ~IY with other 10 o.v.la~ g ~.;ndo..;. which may include l~an~ v.llpixels.
The system of FIG. l 1 assumes that the pixel data for full motion video wh~do.. ;, are supplied to the display system by means separate from Frame Buffer Memory 22. For example, this data may come from an external hald..alc "chip"
based on a MPEG (Motion Pictures Executive Group) standard television format.
15 The system, lLv.vr~lv, must be able to retrieve the pixel data from alternate sources (i.e., either Frame Buffer Memory 22 or from an "MPEG chip"), d~ ~v uliu~ on whether the window being dis~la~ed is a full modon video window. To ~co,..~ h this, the system of FIG. l 1 çomrri~s Full-modon-video Tmli- X Lat~hes 90a, 90b,. . . 90n (hereafter 90), And-gates 92a, 92b, . . . 92n (hv~carlv. 92), And-gates 94a, 20 94b, . . . 94n (h~,.cart~ 94), Full-modon-video Priority Encoder 96, and Co-npal~t 98, in addition to a plurality of Window State 1~ s 12, Priority Bncoder 14, Window T..~ iOI~ Memory 16, Multip1ier 18, Adder 20, Frame Buffer Memory 22, Binary-t~linear Decoder 62, T~ e~ Data Memory 64, and Transparency T)etect~rg 66, as contained in the system of FIG. 7. - .
~ the system of FIG. 11, Full-m--tin video T 'di Latches 90 each store a flag indicating whether the collc~ window is a full motion video window. The output signals of n --r ~ netertr~rs 66, are supplied to And-gates 92, rti~pe~ , rather than directly to Priority Encoder 14 as in the system of FIG. 7. The inverted output signals of Full-l.lulio.. video Tn~- - Latches 90 are 30 also supplied to And-gates 92. These ~ning gates thereby serve to inhibit the"hit" signal for fu~ motion video ~hldo.~ ~, ensuring that Priority Encoder 14 wi~
select only non t~le~i~ion windows. In particular, the non-television window of highest priority wi~ be selected by Priority Encoder 14, the appropriate pixel data and transparency data for that window will be letli~.~ and T~ ..c~ Detectors 35 66 wi~ Iy inhibit the selecti~n of Will~ .. ~ whose chosen pixel has been coded as transparent, as in the operation of the system of FIG. 7.

2109~

In this ~,mboL....,nt, however, the ~lflition~l circuitry of FIG. 11 will cim~ nf ously d~,t~,l"~in~, the full motion video window of highest priority at the current display location (if any), eYclu~ling those for which the chosen pixel has been coded as ~ ,nt. In other words, just as ~riority Encoder 14 selects the highest S priority non-television window whose chosen pixel is non- llan~pa.~ , Full-motion-video Priority Encoder 96 selects the highest priority television window whose chosen pixel is non-LIans~a~Gnl. In addition, the system of FIG. 11 will compare the ~ s of the highest priority television window and the highest priority non-television window, to ~1~ tc ..~ which of the two should be displayed.
10 specifir?lly~ it must be d~,t~, . "i ..~ whether the pixel data should be retrieved from Fras~e Buffer Memo~y 22 or from, for L - , 1', an MPEG chip.
The output signals of Full-motion-video Tnrlir~trJr Latches 90 are supplied to And-gates 94, lG~ ly, as are the "masked hit" signals masked-hit#a, masked-hit#b, . . . masked-hit~n. The output signals of And-gates 94, 15 namely Videol~a, Vidco#b, . . . Video#n, are in turn supplied so the inputs of Full-motion-video Priority Encoder 96, in priority order (i.e., in the same order as the ~ u..~ i,.g window circuits supply Priority Encoder I4~. Finally, ~onlr~~tnr 98 is supplied by the output signals of Full-motion-video Priority Encoder 96 and Priority Encoder 14. C ll ~t~ 98 asserts its output signal 20 SelectFullMotionVideo if and only if the priority of the selected full motion video window (as specifiP~ by the output of Full-motion-video Priority Encoder 96) is greater than the priority of the selected n~ t,lc~ ~ window (as specifi~d by thcoutput of Prionty Encoder 14). Therefore, signal SelectFullMotionVideo i~ s whether the pixel data for the current display location is to be retrieved from the 25 external hardware ~ ,vi li-~g the t~ ;on data or from Frame Buffer Memory 22,which contains the bitmaps for the non ~ ion windo ;.. If the pixel data is to bc l~hi~ d from the external h~u~.~, the output signal of Full-motion-video Priority Encoder 96, FullMotion~ d~ .~5cl~l, may be used to fh t - ~ f which full modon video window is selected for display. Note that the (u ~ C~f~) "hit" signals 30 hit#a, hit#b, . . . hit~ln c~ s~ to full motion video wi"du .. ~ may bc used to advance (clock) the pixel data for each externally supplied television image, since the assertion of each of these signals ~ ~ ~ that the current display location lic5 within the Cf~ full motion video window.
The system of FIG. 9 may be m~ified in an ~nslngJ..c manner to 35 h~cc.l~olate full motion video whldo .. s. In other words, the circuitry of FIG. l I
which has been added to the system of FIG. 7 may be added in an identical fashion 2 1 ~ 9 ~

to the system of FIG. 9. Whether the ~ )~cll~;y il~Ço~ atio~. is obtained based on ~.
the contents of Tlans~ b~ Data Memory 64 as in FIG. 7, the value of PixelData retrieved from Frame Buffer Memory 22 as in FIG. 9, or by some other means, is of no import with regard to the incol~ulation of full motion video window capability.
S Moreover, the tPchniql1e of the system of FIG. 9 may be eYten~ d to allow for llall~dlcncy in full motion video windows, even though the pixel data is ICt~ d ~ ' from a source other than Frame Buffer Memory 22. In particular, the ~al.~ nc~
data for a full motion video window may be based on the pixel data for the full motion video window itself, such as the data leh,.,~_d from an external MPEG chip.
In an r1~e~- lt ~ ~ _ illu~t~ v el~l~li.nenl of the present in~ ion, pixels in a first window may be made "~ c~ e~ 1" rather than (fully) ~ cnl.
Specifi~ ~lly, a ~ ' e n y p~.. ..~ t ~ may be ~ssc- ~ with each pixel in a cU~ e manner, for ~ 1 ~ ~~ as the ~ e~ p~ t .
(Tran~ Jl~lag) iS ~or ~ with each pixel in the system of FIG. 7. Such a lS system may also operate in an -log nus manner to that of the system of FIG. 7 as ~e,~ -vd above. In the l.,~h,~ ~- y case, however, as each b .~ pixel is -detected (i.e., as Priority Encoder 14 iterates through ~.,cce~ _ly id "~
translucent pixels), the c~ A;ne piY~1n t~ for the h -h~( çnr pixel is stored ina memory rather than being ignored. Then, upon the ~1~ t~ of a non-trr ~ cçnt 20 pixel, the stored pixel data for the ~ çnt pixel(s) is "co- ..hi~ " with the PiYelData for the non-translucent pixel to generate the data to be ~lii.~L.~cd. In this ~ ' manner, the partial "see-through" effect of i ~ may be achieved in the resultant display. Note that the feature of FIG. 8 which employs run length data to improve ~,rIic;~ is not ~ , ' .,_d in the case of i ~ns' - y, since the data to be 25 ~ la~ is ad~ - ~g~ g_. _".t~d from the pixel data of ~ h.. ~ .~ pixels as well as non-translucent ones. Conventional L~ ' 1s -- may be e ~ _d for ~ s -' ' 1g pixel data to cneate the ~ r ~ - e of ~ e - y on the display screen.For ~e~ the tLsl.la~_d pixel value may be obtained by a~_.ugi-~g grey scale values of Luollt~ll.u~ pixels, or by mixing thè colors of colored pixels.
The method of the present ~ ~. - - may b(e a~ 4uPly employed to~ rr ~ ~o~n ~ vaTiousc~o~ l;o-~sinthed;s~l~cdimage. ForeY nT'7.
when thc images of muldple objects are over1aid and moved about on a ba.,~uund scene, it may be useful for the controlling program to d~ t~- .. ;lu, when two or more ~
objects have "collided." If two balls are "bo---.c:-~g" across the screen, for eA~-")"
35 it may be de~ir~ - that their ~1itection of motion be abruptly reversed when they collide. If each object's image is cot~ P~ in a separate window, the program . . ~ , 21096~

controlling the motion of the objects can be infonned of such a con~ by one illusllali~- C ..ho.l;...~ of a display system according to the present illv~ ion.
In particular, the pixels in each object's window which ;.. ~ tc1y sulround the border of the image of that object may be specially coded as LlanSl~a-~,U~
S border pixels, as opposed to the other ~ulluuudiilg pixels which are coded âS
(merely) ~ n~ ~ pixels. This coding may be achieved, for ey~nA~pl~ with the use of an ad~ 1 flag bit for each pixel (e.g., by using two bits instçad of one to encode Tr r '~ Flag in T -r ~ ;y Data Memory 64 of FIG. 7). Then, when a display system such as the one illustrated in FIG. 7 detects a ~ ,n~
10 pixel at a given screen location, it is .1~ t "..:..rd whether that pixel has been further coded as a I -r bnt border pixel. If it has been coded as a ~ yalcnl border pixel, the controlling prograrn is apprised of â collision if the ultimately displayed pixel at that location is part of the image of another object (i.e., not a part of the ba~l~ùund window). In this manner, the controlling prograrn may readily 15 d~ t~ when objects in the overall screen image have collided.
Another cxample of a co~ in the d;~,l~A ir,nage which may be ~,r~ 1y ~~;Cocn: -,d by the method of the present i~ -on is the detection of when a ~I;~Ia~_d cursor is pointing to a pl~e;~ "hot spot." First, note that one illustrative application of a ~..h~do.. based display system with tra., . r...~,~
20 ~ to the present in~. includes the display of a movable cursor which over1ays the image ~h.l.. ;se being d;~la~A. For , '~, the cursor may be a ' -small arrow or set of "cross ha~ whose position is controlled by the user with an input device such as a joystick or a mouse. SF e ~ i - 11y, such a cursor may bea~ a~'QUS1y overlaid on the display by ~pe~;l'yi.1g a window containing the image 25 of the cursor, coding the pixels in this window which ~ the cursor image as transparent, and a~ g this window the highest display priority. In this manner, the cursor image will over1ay the rest of the d;i,l,la~_d image, and the cursor may be readily moved about the screen by a~lul - 1y locating the cursor window.
Given such a cursor ~ ' - on the method of the present 30 in~_nlion may be further . Ii ' y~,d to ,,r~ 1y leco~ when the cursor is "poinlillb" to a pled~ t~ ~ area of interest, or "hot spot." In particular, the pixel co~ ed in the cursor window which is located at or next to the cursor "point" (e.g., the point of the arrow or the ~ r~ecti- n point of the cross-hairs) may be coded as a cursor point pixel. In addition, pixels co-~ 'Gd in other wiudo.. . which 35 are in~ d in a pl~ t . . .~ d area of interest may each be coded as a hot spot pixel. These codings may be achieved, for e~ ' o, with the use of ~ ition-1 flag - ~ t ~ ~ ~ 8 1 bits as fl~srrihe~ above. Then, a display system such as the one illlJetr~tP~ in FIG. 7 may be mociifi~d to inc.,l~ulalc hot spot ~t~ction in ~Cc~ Arc ~,vith one e. "ho ~ of the present invention.
Sperifir~lly, when a ll-~n-r ~ 1 pixel is detected at a given screen 5 location, the mm1ifi~d display system dctvl.lllnes whether that pixel has been further coded as a ~ cursor point pixel. If it has been coded as a lla~ pa vnt cursor point pixel, the controlling program is apprised of a hot spot ~3etecti~-n if the Iy displayed pixel at that lrlc ~ir,ln hqe been coded as a hot spot pixel. In this manner, the controlling prograrn may readily cl~t~ ;Ar when the cursor is pointing 10 to a hot spot. ~ .
In another e--~l,od;~-- A~ of a display systern ~-~od;~vd to L~CGI~Ia~v hot ~-spot d~t~ctinn, the coding of the cursor point as a lla l~la vnl cursor point pixel may be achieved in an alternate manner. Specifi~ ly~ the pixel may be coded as a (merely) i - ", vnl pixel, and the display system may be further mo~lifi~d to 15 IvcCg~ whenthecùrsorpointislocatedatthecurrentscreenlocation. For ' . the cursor window may Cn~U l~(;ce a '~&~n~ sl" pointing a~row such that ~ ' the cursor point is the l.p~ and left-most pixel in the window. Since the cursorwindow has been assigned as the window of highest priority, Window State Machine12a may l~,col,n ~, that the cursor point is located at the current scIeen location by 20 d t~ e that Xstart = Xscreen and Ystart = Yscreen. In other words, the ' current screen locadon is the locadon of the cursor point when the current location is c ~ with the upper left hand corner of the cursor window. Then, when the further ,--~l;~ l display system ~et~ -.--:--~s that the current screen locadon is, in fact, the location of the cursor point, the CO.It~ g progtam is apprised of a hot spot25 d~ t~ if the ,' ly ~;itllla~xl pixel at that location has been coded as a hot spot pixel.
Although a numher of specific e-~-lx) J; ~ - nl~ of this hl~v.llion have been shown and ~1~ S~~ - ;h~d herein, it is to be ~n~v. ~tood that these G ~ho~ . .t~ are merely il1- t, -~v of the many possible specific ~ g.,-~ which can be devised 30 in ~ of the ~ '-s of the in~_.ltion. Nu~.fv.~us and varied other - Ig - can be devised in acco.~lce with these pllllcip1~ s by those of ordinaly s~ill tn the ttrt without depardng fiorn the spuit and scope of the ini .laon.

Claims (13)

Claims:
1. An electronic circuit for generating a screen display, the screen display comprising a plurality of windows, the windows having been ordered in accordance with a predetermined display priority, each of said windows comprising a plurality of pixels, each pixel associated with a location in the screen display, the circuit comprising:
a plurality of circuit means for detecting whether a corresponding one of said windows includes a pixel associated with a given location in the screen display;
a plurality of transparency detector circuits, each transparency detector circuit electrically coupled to a corresponding one of said circuit means for detecting whether the corresponding window includes a pixel associated with the given location in the screen display, each of said transparency detector circuits operable to detect whether the pixel in the corresponding window associated withthe given location in the screen display has been coded as a transparent pixel;
a priority encoder circuit electrically coupled to each of said transparency detector circuits, wherein the priority encoder circuit generates asignal representing one of said windows, said represented window having a higherdisplay priority than any other of said windows which includes a pixel associated with the given location in the screen display which has not been coded as a transparent pixel; and a signal generating means, electrically coupled to said priority encoder circuit, for generating a signal representing the pixel in the represented window associated with the given location in the screen display.
2. The circuit in accordance with claim 1 wherein each of said circuit means for detecting whether the corresponding window includes a pixel associatedwith the given location in the screen display generates a corresponding signal representing whether the corresponding window includes a pixel associated with the given location in the screen display, and wherein each of said correspondingtransparency detector circuits comprises means for inhibiting said corresponding signal when the pixel in the corresponding window associated with the given location in the screen display has been coded as a transparent pixel.
3. The circuit in accordance with claim 1 further comprising a memory electrically coupled to each of said transparency detector circuits, the memory comprising data representative of whether said pixel in the corresponding windowassociated with the given location in the screen display has been coded as a transparent pixel.
4. The circuit in accordance with claim 3 wherein said memory further comprises data representative of a number of successive pixels following said pixel in the corresponding window associated with the given location in the screen display which have been coded as transparent pixels, when said pixel in the corresponding window associated with the given location in the screen display has been coded as a transparent pixel.
5. The circuit in accordance with claim 3 wherein said memory further comprises data representative of whether said pixel in the corresponding window associated with the given location in the screen display has been coded as a transparent border pixel.
6. The circuit in accordance with claim 3 wherein said memory further comprises data representative of whether said pixel in the corresponding window associated with the given location in the screen display has been coded as a transparent cursor point pixel.
7. The circuit in accordance with claim 1 wherein each of said transparency detector circuits is responsive to said signal representing the pixel in the represented window associated with the given location in the screen display,and wherein a predetermined value of said signal represents that said pixel in the corresponding window associated with the given location in the screen display has been coded as a transparent pixel.
8. The circuit in accordance with claim 1 wherein at least one of said windows comprises an image from full motion video.
9. The circuit in accordance with claim 8 further comprising a second priority encoder circuit electrically coupled to each of said transparency detector circuits, wherein the second priority encoder circuit generates a signal representing one of said windows comprising an image from full motion video, said represented window comprising an image from full motion video having a higher display priority than any other of said windows comprising an image from full motion video which includes a pixel associated with the given location in the screen display which has not been coded as a transparent pixel.
10. An electronic circuit for generating a screen display, the screen display comprising a plurality of windows, the windows having been ordered in accordance with a predetermined display priority, each of said windows comprising a plurality of pixels, each pixel associated with a location in the screen display, the circuit comprising:
a plurality of circuit means for detecting whether a corresponding one of said windows includes a pixel associated with a given location in the screen display;
a plurality of translucency detector circuits, each translucency detector circuit electrically coupled to a corresponding one of said circuit means for detecting whether the corresponding window includes a pixel associated with the given location in the screen display, each of said translucency detector circuits operable to detect whether the pixel in the corresponding window associated withthe given location in the screen display has been coded as a translucent pixel;
a priority encoder circuit electrically coupled to each of said translucency detector circuits, wherein the priority encoder circuit generates a signal representing one of said windows, said represented window having a higher display priority than any other of said windows which includes a pixel associated with the given location in the screen display which has not been coded as a translucent pixel; and a signal generating means, electrically coupled to said priority encoder circuit, for generating a signal representing a combination of the pixel in the represented window associated with the given location in the screen display and the pixel in a window having a higher display priority than the represented window associated with the given location in the screen display.
11. The circuit in accordance with claim 10 wherein each of said circuit means for detecting whether the corresponding window includes a pixel associatedwith the given location in the screen display generates a corresponding signal representing whether the corresponding window includes a pixel associated with the given location in the screen display, and wherein each of said correspondingtranslucency detector circuits comprises means for inhibiting said correspondingsignal when the pixel in the corresponding window associated with the given location in the screen display has been coded as a translucent pixel.
12. The circuit in accordance with claim 10 further comprising a memory electrically coupled to each of said translucency detector circuits, the memory comprising data representative of whether said pixel in the correspondingwindow associated with the given location in the screen display has been coded as a translucent pixel.
13. The circuit in accordance with claim 10 wherein at least one of said windows comprises an image from full motion video.
CA002109681A 1993-03-10 1993-11-22 Method and apparatus for the coding and display of overlapping windows with transparency Expired - Lifetime CA2109681C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2920593A 1993-03-10 1993-03-10
US029,205 1993-03-10

Publications (2)

Publication Number Publication Date
CA2109681A1 CA2109681A1 (en) 1994-09-11
CA2109681C true CA2109681C (en) 1998-08-25

Family

ID=21847787

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002109681A Expired - Lifetime CA2109681C (en) 1993-03-10 1993-11-22 Method and apparatus for the coding and display of overlapping windows with transparency

Country Status (6)

Country Link
US (1) US5463728A (en)
EP (1) EP0615223B1 (en)
JP (1) JP3320889B2 (en)
KR (1) KR940023189A (en)
CA (1) CA2109681C (en)
DE (1) DE69403515T2 (en)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638501A (en) * 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5754186A (en) * 1993-05-10 1998-05-19 Apple Computer, Inc. Method and apparatus for blending images
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
DE69433292T2 (en) * 1993-09-01 2004-08-26 Nippon Telegraph And Telephone Corp. Method and device for image synthesis
GB9419126D0 (en) 1994-09-22 1994-11-09 At & T Global Inf Solution Method and apparatus for displaying translucent overlapping graphical objects on a computer monitor
WO1996012222A1 (en) * 1994-10-14 1996-04-25 Ast Research, Inc. A system and method for detecting screen hotspots
EP1098527A1 (en) 1994-11-04 2001-05-09 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and decoding apparatus
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
US5825360A (en) * 1995-04-07 1998-10-20 Apple Computer, Inc. Method for arranging windows in a computer workspace
US5900877A (en) * 1995-05-15 1999-05-04 Sybase, Inc. Method and apparatus for multilevel software controls
JP3141737B2 (en) * 1995-08-10 2001-03-05 株式会社セガ Virtual image generation apparatus and method
JP3995114B2 (en) * 1995-10-30 2007-10-24 アルパイン株式会社 Switch image display method
US5740343A (en) * 1995-11-03 1998-04-14 3Dfx Interactive, Incorporated Texture compositing apparatus and method
US5805163A (en) * 1996-04-22 1998-09-08 Ncr Corporation Darkened transparent window overlapping an opaque window
US5764229A (en) * 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
US6252595B1 (en) * 1996-06-16 2001-06-26 Ati Technologies Inc. Method and apparatus for a multi-state window
US6016144A (en) * 1996-08-14 2000-01-18 Samsung Electronics Co., Ltd. Multi-layered television graphical user interface
JP2000517445A (en) * 1996-08-28 2000-12-26 ヴィーア・インコーポレイテッド Touch screen device and method
US6369855B1 (en) 1996-11-01 2002-04-09 Texas Instruments Incorporated Audio and video decoder circuit and system
KR19980042031A (en) * 1996-11-01 1998-08-17 윌리엄 비. 켐플러 Variable resolution screen display system
JPH10177465A (en) * 1996-12-18 1998-06-30 Sharp Corp Information processor
JPH10208025A (en) * 1997-01-17 1998-08-07 Namco Ltd Method and device for picture generation
US5896131A (en) * 1997-04-30 1999-04-20 Hewlett-Packard Company Video raster display with foreground windows that are partially transparent or translucent
US6246407B1 (en) * 1997-06-16 2001-06-12 Ati Technologies, Inc. Method and apparatus for overlaying a window with a multi-state window
US5892890A (en) * 1997-06-17 1999-04-06 Hewlett-Packard Company Computer system with parallel processor for pixel arithmetic
GB9712724D0 (en) * 1997-06-18 1997-08-20 Holmes Steven Method and apparatus for interaction with broadcast television content
US5973734A (en) 1997-07-09 1999-10-26 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
JP3191922B2 (en) 1997-07-10 2001-07-23 松下電器産業株式会社 Image decoding method
FR2766645B1 (en) * 1997-07-25 2002-12-13 Picoureix Valere Fontaine METHOD FOR INCORPORATING INTERACTIVE DATA INTO A VIDEO IMAGE
US6002397A (en) * 1997-09-30 1999-12-14 International Business Machines Corporation Window hatches in graphical user interface
JP3497988B2 (en) * 1998-04-15 2004-02-16 株式会社ルネサステクノロジ Graphic processing apparatus and graphic processing method
US6088018A (en) * 1998-06-11 2000-07-11 Intel Corporation Method of using video reflection in providing input data to a computer system
US6731295B1 (en) 1998-11-09 2004-05-04 Broadcom Corporation Graphics display system with window descriptors
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
JP3427973B2 (en) * 1998-12-09 2003-07-22 日本電気株式会社 Object display description document conversion device and browser
JP3080087B2 (en) * 1998-12-28 2000-08-21 日本電気株式会社 Image processing method and apparatus
US6317141B1 (en) 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US6971071B1 (en) * 1999-06-10 2005-11-29 Microsoft Corporation System and method for implementing an image ancillary to a cursor
US6587128B2 (en) * 1999-07-15 2003-07-01 International Business Machines Corporation Method for displaying hidden objects by varying the transparency of overlapping objects
US7882426B1 (en) * 1999-08-09 2011-02-01 Cognex Corporation Conditional cell execution in electronic spreadsheets
US6525746B1 (en) * 1999-08-16 2003-02-25 University Of Washington Interactive video object processing environment having zoom window
US6633309B2 (en) * 1999-08-16 2003-10-14 University Of Washington Interactive video object processing environment having concurrently active subordinate windows
US6670970B1 (en) 1999-12-20 2003-12-30 Apple Computer, Inc. Graduated visual and manipulative translucency for windows
US6774908B2 (en) 2000-10-03 2004-08-10 Creative Frontier Inc. System and method for tracking an object in a video and linking information thereto
DE10159469B4 (en) * 2000-12-29 2011-09-29 Robert Bosch Gmbh Method for display and display device
EP1386238A2 (en) * 2001-04-18 2004-02-04 Matsushita Electric Industrial Co., Ltd. Portable terminal, overlay output method, and program therefor
GB0109720D0 (en) 2001-04-20 2001-06-13 Koninkl Philips Electronics Nv Display apparatus and image encoded for display by such an apparatus
US9189467B1 (en) 2001-11-07 2015-11-17 Apple Inc. Method and apparatus for annotating an electronic document
US20030098869A1 (en) * 2001-11-09 2003-05-29 Arnold Glenn Christopher Real time interactive video system
CA2366196A1 (en) 2001-12-21 2003-06-21 Ibm Canada Limited-Ibm Canada Limitee Unique identification of sql cursor occurrences in repetitive, nested environment
JP2003233809A (en) * 2002-02-07 2003-08-22 Matsushita Electric Ind Co Ltd Image composition device and method
US7343566B1 (en) 2002-07-10 2008-03-11 Apple Inc. Method and apparatus for displaying a window for a user interface
JP2005049913A (en) 2003-05-30 2005-02-24 Konami Computer Entertainment Yokyo Inc Image processor, image processing method, and program
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7262782B1 (en) * 2003-11-07 2007-08-28 Adobe Systems Incorporated Selectively transforming overlapping illustration artwork
US7834819B2 (en) 2004-04-01 2010-11-16 Polyvision Corporation Virtual flip chart method and apparatus
US7948448B2 (en) 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
US20060059432A1 (en) * 2004-09-15 2006-03-16 Matthew Bells User interface having viewing area with non-transparent and semi-transparent regions
EP1718065A1 (en) 2005-04-30 2006-11-02 STMicroelectronics (Research & Development) Limited Method and apparatus for processing image data
TWI296481B (en) * 2005-07-25 2008-05-01 Alpha Imaging Technology Corp An image compressing/decompressing method and an image compressing/decompressing device using the same
JP5119587B2 (en) * 2005-10-31 2013-01-16 株式会社デンソー Vehicle display device
TW200732926A (en) * 2006-02-24 2007-09-01 Hon Hai Prec Ind Co Ltd Embedded device
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
US8584028B2 (en) * 2006-10-31 2013-11-12 Microsoft Corporation Adaptable transparency
KR101058040B1 (en) * 2006-12-21 2011-08-19 삼성전자주식회사 Content output method and device therefor
US8191003B2 (en) 2007-02-14 2012-05-29 International Business Machines Corporation Managing transparent windows
CN101303849B (en) * 2007-05-11 2011-10-26 深圳迈瑞生物医疗电子股份有限公司 Method and apparatus for rapidly displaying lapped arbitrary shape rarefaction pattern without twinkling
US8839142B2 (en) 2007-06-08 2014-09-16 Apple Inc. Desktop system object removal
US8358314B2 (en) * 2008-02-08 2013-01-22 Apple Inc. Method for reducing framebuffer memory accesses
JP5116514B2 (en) * 2008-03-11 2013-01-09 キヤノン株式会社 Imaging apparatus and display control method
US9092128B2 (en) 2010-05-21 2015-07-28 Apple Inc. Method and apparatus for managing visual information
US9542202B2 (en) 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US10740117B2 (en) 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9292196B2 (en) 2010-10-19 2016-03-22 Apple Inc. Modifying the presentation of clustered application windows in a user interface
US9658732B2 (en) 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
WO2016196123A1 (en) * 2015-05-29 2016-12-08 Nike, Inc. Smart top routes
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4197590A (en) * 1976-01-19 1980-04-08 Nugraphics, Inc. Method for dynamically viewing image elements stored in a random access memory array
US4414628A (en) * 1981-03-31 1983-11-08 Bell Telephone Laboratories, Incorporated System for displaying overlapping pages of information
US4622545A (en) * 1982-09-30 1986-11-11 Apple Computer, Inc. Method and apparatus for image compression and manipulation
US4555775B1 (en) * 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US4700320A (en) * 1985-07-09 1987-10-13 American Telephone And Telegraph Company, At&T Bell Laboratories Bitmapped graphics workstation
US5056041A (en) * 1986-12-31 1991-10-08 Texas Instruments Incorporated Data processing apparatus with improved bit masking capability
US4868765A (en) * 1986-01-02 1989-09-19 Texas Instruments Incorporated Porthole window system for computer displays
JPH0766317B2 (en) * 1986-04-09 1995-07-19 株式会社日立製作所 Display control method
JPS6414678A (en) * 1987-02-27 1989-01-18 Kiyapuran Saibaneteitsukusu Co Cpmputer graphic system
US4893116A (en) * 1987-11-16 1990-01-09 Ncr Corporation Logical drawing and transparency circuits for bit mapped video display controllers
CA1313417C (en) * 1988-05-23 1993-02-02 Barbara A. Barker Method for accessing visually obscured data in a multi-tasking system
US5222203A (en) * 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
US5150457A (en) * 1990-05-02 1992-09-22 International Business Machines Corporation Enhanced visualization using translucent contour surfaces
US5185808A (en) * 1991-06-06 1993-02-09 Eastman Kodak Company Method for merging images

Also Published As

Publication number Publication date
EP0615223A1 (en) 1994-09-14
CA2109681A1 (en) 1994-09-11
EP0615223B1 (en) 1997-06-04
DE69403515T2 (en) 1997-12-18
DE69403515D1 (en) 1997-07-10
JP3320889B2 (en) 2002-09-03
KR940023189A (en) 1994-10-22
JPH06348246A (en) 1994-12-22
US5463728A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
CA2109681C (en) Method and apparatus for the coding and display of overlapping windows with transparency
EP0240970B1 (en) Digital video generator
US6452641B1 (en) Method and apparatus for providing and on-screen display with variable resolution capability
US6295381B1 (en) Coding apparatus and decoding apparatus of image data and corresponding shape data at different resolutions
EP0419765B1 (en) Color television window expansion and overscan correction for high-resolution raster graphics displays
EP0408834B1 (en) On screen display in a TV receiver
US20020054211A1 (en) Surveillance video camera enhancement system
US7050113B2 (en) Digital video data scaler and method
KR19980042025A (en) On-Screen Display System Using Real-Time Window Address Calculation
WO2012068242A1 (en) System and method for on-the-fly key color generation
US8749566B2 (en) System and method for an optimized on-the-fly table creation algorithm
EP0840276B1 (en) Window processing in an on screen display system
US7268834B2 (en) Method and apparatus for combining video signals to one comprehensive video signal
US5270820A (en) Method and apparatus for tracking a pointing device in a video field
US5606652A (en) Real-time processing system for animation images to be displayed on high definition television systems
US6549659B1 (en) Method and apparatus for determining the location of a reflective object within a video field
KR20010070507A (en) Logo insertion on an hdtv encoder
CN1094014C (en) Apparatus for controling caption display on wide aspect ratio screen
EP1303982A2 (en) Window detection
KR950006768B1 (en) Laster format converter circuit
KR100896098B1 (en) Television visual artwork generation system and method
US6414722B1 (en) Process and system for formulating digital images resulting from auxiliary graphical elements inlaid into main images
JPS614932A (en) Infrared video device
JPH07134769A (en) Anti-aliasing processing method for image synthesis
US20070211082A1 (en) Method and System for Volatile Construction of an Image to be Displayed on a Display System from a Plurality of Objects

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20131122

MKEX Expiry

Effective date: 20131122