METHOD AND APPARATUS FOR DYNAMICALLY ADDING FUNCTIONALITY TO A WEB BROWSER

Abstract: A method and apparatus are provided for reducing flicker of a display image defined in HTML format for display on a television monitor. One embodiment of the present invention incorporates a tag that may be attached to an image to be displayed on a television monitor (14). This is done so by a particular tag that designates a file name which includes object of image data stored in a file. The tag identifies an image as either having a frequency profile that will result in interlace flicker (11) or as having a frequency profile that will not result in interlace flicker (18). When a World Wide Web (WWW) browser (10) employing this embodiment encounters (36) such a tag, it will apply flicker reduction filtering (40) to the image when the tag identifies the image as having a frequency profile that results in interlace flicker. Otherwise, the browser displays the image as is.

Description: METHOD AND APPARATUS FOR DYNAMICALLY ADDING FUNCTIONALITY TO A WEB BROWSER FIELD OF THE INVENTION The present invention relates to data processing in computer systems, and in particular, to reducing flicker when displaying HTML images on a television monitor. BACKGROUND OF THE INVENTION Networking technology has developed a large network of networks, referred to as the Internet, which interconnects millions of computers around the world. The Internet allows the transfer of data between any number of computer systems connected to the Internet using the Transmission Control Protocol/Internet Protocol (TCP/IP). Computers responding to service requests from other computers, via the Internet, are commonly referred to as servers, and computers thai initiate requests for service from a server are referred to as clients. The Internet has become very popular in part due to the World Wide Web (WWW), which is a network of links to hypertext documents operating within the Internet. These hypertext documents are referred to as either Web documents, Web pages, or hypertext documents. Web documents are embedded with directly accessible connections or links to other documents which create a non-linear way of reading the document. The links are embedded in Web documents as a phrase of text or an image which can be selected and activated by a computer user. Information about the Web documents are controlled and provided by Web servers. At the user's end, a Web client takes the user's requests and passes them on to the Web server. The Web documents are written with a high level programming language referred to as the Hypertext Markup Language (HTML). Commands of the HTML, hereinafter referred to as tags, provide a variety of funcuons including, but not limited to, defining special format and layout information m a Web document, embedding images and sound in a Web document, and embedding links to other Web documents. This platform independence is one of the significant advantages of the WWW, since a web page creator need only create a single definition of a web page in HTML. Thus, no matter what sort of computer is used by a user browsing the WWW, the web page can be viewed with high quality. The navigation model offered by the WWW is so powerful and ubiquitous that it provides a revolutionary new way to publish and access mfomiation throughout the world One drawback of the WWW, however, is that current use is limited to computer operators This is an enormous impediment to the WWW's reach and potential to impact human civilization. Although many people have access to computers at work, home and school, the vast majority of people in the world do not have access to computers, parucularly outside the United States Furthermore, of the computers that are in use throughout the world, a relatively small percentage are capable of browsing the WWW Moreover, the requirement of owning a computer to access the WWW continues to be the largest force inhibiting the world from accessing the WWW because of computer's high cost, required space and complexity of operation A solution to these drawbacks would be to develop a dedicated WWW browsing computer that utilises a television for displaying information Since this device would be dedicated to the function of the WWW, and would not include a disc or monitor, there could be significant cost and space savings Moreover, it could simplify use and access of the WWW Most importantly, since almost all homes in industrialized countnes already have a television, access to the WWW using existing televisions could reach a virtually unlimited number of people Simplicity could provide the novice with easy access to the information provided by the WWW In order to access, process, and display a Web document, a client uses a first set of instructions, referred to as a browser. The browser typically includes a set of browser commands corresponding to the tags available in the HTML Each browser command in turn points to a procedure of one or more instructions defining the command which, when executed, provide a funcuonahty of the respective command If the client requires service from the Web server, the browser uses the Hypertext Transfer Protocol (HTTP) to communicate with the server The browser compares each tag found embedded in a Web document with the set of browser commands. Once a match is found, the browser executes the procedure corresponding to the matched browser command in order to provide the functionality of the respective command. The instructions of the browsers are typically written with a programming language different from the HTML, which includes a library of several routines The library of rouunes can in turn be used to develop and add new browser commands, or modify exisung browser commands, which can be embedded in a Web document as new or modified tags to provide new funcuonality when displaying the Web document. Various manufacturers have announced and begun producing television based WWW browsmg computers including Bandai Pippin™, the Oracle NC (CR Oracle Corp ), the Viewcall Webster (CR Viewcall) and the Sega Saturn (CR Sega Corp.). However, because of the fact that WWW was originally designed for high resoluuon computer monitors and not for televisions, these devices provide marginal or unsatisfactory display quality for the WWW browser. One of the biggest problems is interlace image flickering For example, interlace image flicker is a serious problem if the WWW page displayed happens to have coherent high frequencies in the vertical dimension, for example, 1 -pixel wide horizontal lines, because of the interlacing techniques used by NTSC, PAL and SECAM TV systems Vanous devices, such as Bandai Pippin, generate a flicker free interlace image; however, in doing so, they blur images on the television screen unnecessarily. While some images on the WWW have coherent high frequencies that result in interlace flicker, most images do not have this problem. Convenuonal devices, such as the Bandai Pippin displays subsystem, uses a 1 -2-1 verucal convolution to all images, resulting in blurred images due to the application of a filter technique to all images regardless of whether or not the images flicker Furthermore, given that televisions already provide a low resolution image relative to computer monitors, unnecessary blurnng takes a marginal display device and reduces its image quality even further. One example of a device providing filtering for an interlace image is United Slates patent applicauon 5,005,011 of Perlman, et al. ("'01 1 patent"). The filtering method disclosed in the '011 patent is one example of a filtering method commonly used m WWW browsing devices and will be referred to here for illustrauon Furthermore, the '01 1 patent is hereby incorporated by reference as background material for the device descπbed and claimed herein. As taught in the '011 patent, images with coherent high frequencies in the vertical dimension that are displayed on an interlaced display are perceived by a human observer to be flickering. Flickering images arc almost universally perceived by human observers as unpleasant to watch Furthermore, prolonged viewing can result in headaches, nausea or motion sickness Thus, viewing a web page suffering from interlace flicker for a prolonged period is undesirable Generally, web pages are designed for display on progressive scan computer RGB monitors. Progressive scan displays have an advantage over interlace displays, for example televisions, in that, regardless of the spatial frequency profile of a displayed image, progressive scan displays do not suffer from visually disturbing line flicker problems Consequently, in current web page design pracuce, unages are selected without regard to their spatial frequency profile and, as may be expected, a web page displayed without flicker reduction filtenng on an interlace display will often suffer from unsightly line flicker problems Some images on the WWW contain the high coherent spaual frequencies in the verucal dimension that cause mterlace flicker, where some do not For example, images of natural scenes, which typically do not have coherent high frequencies do not have flicker problems On the other hand, images that are generated synthetically with computer drawn thin lines that have coherent high frequencies can be subject to flicker In another example, images that are captured from video cameras which, by their nature, due to a well known video engineermg in theparametcr called the Kell factor, are lunited in bandwidth the spatial frequency domain so that they do not flicker Some images are represented by character codes rather than a specifically defined two dimensional array of pixels such as, for example, text fields The two dimension pixel realizauon of such unages is designed by the browser, resulting m a situation which the same character codes may result in a different image realization from one browser to another. This can be further varied from one user to another using the same browser if the users select different fonts For example, depending on the spaual frequency characteristics of the fonts chosen by the browser, the image generated by a text field may or may not result in mterlace flicker One option that may be considered is pre-filtering an image before it is posted on a web with some type of flicker reduction method Although this is a fallible means to reduce interlace flicker, it has the undesirable side effect of unnecessaπly blurring the posted Web page images when they are displayed on progressive scan monitors which do not suffer from line flicker. Since one of the most powerful aspects of the Web is the ability of a Web page designer to post a single Web page that can be displayed with high quality on any platform, pre-filtcring an image so as to compromise its quality on a progressive scan platform is undesirable. Therefore, a great need exists for a device that can display a video image from the WWW on a television screen with a reduction of flicker effects wiihout unnecessarily blurring the image. As will be seen, the present invention accomplishes this in a simple and elegant manner. SUMMARY OF THE INVENTION A method and apparatus are provided lor reducing flicker ol a display image defined in HTML format for display on a television monitor. One embodiment of the present invention incorporates a tag that may be attached to an image to be displayed on a television monitor This is done so by a parucular tag that designates a file name which mcludes object or image data stored in a file. The tag identifies an image as cither having a frequency profile that will result in mterlace flicker or as having a frequency profile that will not result in mterlace flicker When a World Wide Web (WWW) browser employmg this embodiment encounters such a tag, it will apply flicker reduction filtering to the image when the tag identifies the image as having a frequency profile that results in interlace flicker. Otherwise, the browser displays the image without filtering BRIEF DESCRIPTION OF THE DRAWINGS One embodiment of the invention is illustrated by way of example and not limitauon in the figures of the accompanymg drawings, in which like references indicate similar elements, and in which: Figure 1 illustrates a dedicated computer system, connected to a server, wherein the computer system is capable of reducmg flicker when displaying HTML images on a television monitor according to one embodiment of the present invenuon. Figure 2 illustrates a flow diagram illustrating the steps of filtering an object to be displayed in order to reduce flicker the display image according to one embodiment of the present invention. DETAILED DESCRIPTION One embodiment of the invention provides a method and apparatus for reducing flicker when displaying HTML defined images on a television monitor. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. One embodiment of the present invention incorporates a mechanism that filters unages that have been predesignated as having a tendency to flicker when displayed on a television monitor Images which are not predesignated, or arc not subject to interlace flicker, are not filtered The mechanism allows a web page designer to specify which images on a given web page are subject to flicker and which images arc not so that images that are parucularly subject to interlace flicker can be filtered in order to produce sharp images. Without such a designauon, the images are displayed without special filtering The WWW, by nature, handles each component image of a web page as an independent object with particular characieπsucs defined by HTML For example, a text field object may be specified as italic or bold face or an image may be specified as a GIF or a JPEG image. Extensions of the HTML language are continually being developed in order to add flexibility to web page design The present invention utilizes an extension that filters objects or images that have been predesignated as having a tendency to exhibit interlace flicker. A particular extension uu zed by one embodiment employs a "tag" which may be attached to an image. The tag in HTML language is a designauon mechanism that desenbes the characteπsucs of code to be incorporated in a web page A sample code is as follows: <HTML> <BODY> <TITLE>WWW Home Page for John E. Applesecd <H1>WWW Home Page for John E Appleseed</H 1 > <IMG SRC="http7/www.wιn net/homc4.gιf"><P> <H2>Page Under Constructιon l </H2> <IMG SRC="http7/ ww win nei/construction gιf"> <IMG SRC="http://www.wιn.nel/ball3d.gιf> <A HREF="http://www.wιn.nct">Mam WinNct WWW Home Page< A> <P>To send me email use this Win-Nei/Internci address- <A HREF="maιlto-japple@worm win nct">japple<α ) worm wιn.net</A> <P>Clιckιng <A HREF="ftp://ftp.wιn.net/wιnncL/worrn">Anonymous FTP</A> will examine my FTP area (flp://ftp win.nel/winnet/woπn) <ς BODY> < HTML> This is a typical example of an algorithm in HTML language that defines a web page A tag occurs at the beginning al a line of code and is repeated with a "\" to designate an end of the particular line of code Each line of code is executed in order using common browser software and a web page is then displayed on a screen. One embodiment of the present invention incorporates a tag that may be attached to an image. This is done so by a particular tag that designates a file name which includes object or image data stored a file. This tag identifies an image as either having a frequency profile that will result in interlace flicker or as having a frequency profile dial will not result in interlace flicker. When a browser employing this cmbodiment-encounters such a tag, it will apply flicker reduction filtering to the image when the tag identifies the unage as having a frequency profile that results in interlace flicker Olhcrwise, the browser displays the image as is The following is an example of an image tag with no filtering <IMG SRC= (file name) No Fιlter> IMG designates the image tag "File name" is the file source ("SRC") containing image data "No Filter" designates an object, in dns case an image, does not need filtering for flicker reduction This particular example is for illustration and can be varied according to different applications without deparung from die spirit and scope of ihc present invention For example, the code could simply designate a data source without designating any filter informauon so that the device will display the image as is without special filtering. The television monitor may have its own internal filtering, but no further filtering will be done by the browser In another embodiment, a tag can spccily the degree in which die image data is subject to mterlace flicker. Different filtering methods, or filter kernels as they arc known in the art, may be used to reduce mterlace flicker to varying degrees As described in the 'Oi l patent, an unage can be filtered using the " 1-2- 1 filter kernel" as well as a "1 -3-1 ' or "1-4-1 ". The degree m which images can be filtered arc determined by the following equauon: Where Pi is the pixel data for the first pixel of the Nth scan line, P2 is the pixel data for the first pixel of the Nth+1 line, and 3 is the pixel data for the third or Nth+2 scan line "a" and "b" are constant where b is usually greater than a In a typical application, a=l and b=2 In a preferred embodiment, the present invention employs two different degrees of filtenng that have their own characteristic tags Several options are available for different degrees of filtenng. Options mclude "Slight Filter" typically used in displaying text where flickering is of minor concern and "Full Filter" typically used for filtering images where flickeπng effects are more pronounced. Full= 2 x current line + line above + line below 4 Known as 1 -2-1 as in the '01 1 patent. This variation is a sharper filter that can be used at the edges of images that arc prone to interlace flicker. Slights 6 x current line + line above + line below 8 Known as 1-6-1 This is a variation that emphasizes the current line more and therefore reduces flicker in an amount less thai the Full Filter variation These two variauons can be used in combination on a single web page in order 10 add varying degrees of filtenng to the different objects displayed on the display screen Further details on how to implement different degrees of filtering arc shown in the '01 1 patent Utilizing these methods, an image that is subject to slight interlace flicker need only be blurred slightly rcsulung in an optimally sharp image, whereas an object subject to extensive interlace flicker can be more extensively blurred in order to have consistently sharp images throughout the web page Usmg these me ods, a web page designer can specify in a tag a particular kernel to be used to reduce mterlace flicker in order to have very precise control over how an image is filtered Furthermore, a web page designer can employ a plurality of tags in accordance with the present invention to a single image and use a region specifier, commonly used in web design, to specify a region to which a given tag will designate a particular degree of filtering. A web page designer can then specify different interlace reduction filtenng for different regions of a given image in order to produce high quality images by varying the filtering throughout the image, opumal resolution can be maintained Referring now to Figure 1, a system employing a flicker reduction device in accordance with the present invenuon is shown The user browsing system 10 includes a dedicated computer system 12 that has a network interface (not shown) and an internal processor (not shown) The dedicated computer system 12 is connected to a television monitor display 14 used to display the web page images The images can be separated into different regions and handled independently by the dedicated computer system 12 For example, the display shown in Figure 1 illustrates four page elements that are treated independently by the dedicated computer system 12 The background is a high flicker tag image 16 that would require a higher degree of filtering in order to reduce interlace flicker Similarly, the low flicker tag image 18 would require a lower degree of filtenng in order to reduce mterlace flicker. The untagged image 22 and free flowing text field 20, on the other hand, would not be filtered since they are not designated for filtering In a simplified version of the present embodiment, the low flicker and high flicker tag images would be filtered equally since it would only disunguish between whether an image is tagged or not rather than what die degree of filtering is A higher developed system, on the other hand, would apply varying degrees of filier g according to the respective tags Examples of tags that employ varying degrees of filtering are as follows <IMG SRC=(file name) -x-l> The filtering designation "filter=l-x-l" can be adjusted by the web page designer by designating a value to x that will vary the degree of filtenng according to the equation have parameters Pi , P2, P3, a and b discussed above The user browsing system 10 is coupled to a network 24 that gives the user browsing system access to die server 26 having web page video image data 28 for display on the television monitor display 14. In normal operation, a user acu vales the user browsing system by accessing die network 24 usmg the modem phone line 30 and acquires access to the internet server 26 to re-πeve the web page image data The dedicated computer system 12 then processes the image data by execuung the HTML instructions retrieved from the internet server 26 to display die image This is illustrated in die flow diagram of Figure 2. In die first stage 32, the user browsing system, or WWW browser accesses the world wide web, or internet server, in order to retrieve object or image data provided by the server In die next stage 34, dedicated computer system decodes the object where image data instruction retπeved from the internet server As the commands are being executed, die dedicated computer system 12 displays the web page images in response to the instructions If no tags occur that designate flicker filtering, the user browsing system sunply displays the objects of images unfiltercd in step 38 On the other hand, if tags occur that designate filtering, the user browsing system in step 40 filters the objects or images accordmg to die data instrucuons Once the images are displayed, if further unage data is available, the process returns to step 34 for decoding die image data Once the image data is completed, the process ends at step 44 In another embodiment of the present invention, a user browsing system further utilizes fonts and odier non-image display elements which are appropriately designed so as not to flicker on an mterlace display When the browser downloads an image from die server, the browser determines whether the unage has one or more lags such as those described above before die image is displayed on the television monitor display. If such tags occur in die HTML algorithm, the user browsing system 10 interprets the tags and applies the appropnate flicker reducuon filtered to die image before the image is displayed on die monitor 14 Since fonts and other non-image display elements can be designed to be flicker free by die designer of Dedicated Computer Systems 12, dicre is no need to flicker reduction filtering pπor to displaying these fonts and display elements Therefore, this embodiment of the present invention does not filter these elements In anodier embodiment of the present invcniion, the user browsing system in its dedicated computer system 12 performs an analysis of e spatial frequencies of each image prior to displaying. This allows a designer to employ conventional methods in designing a web page widiout bodicring to tag die particular images for filtering. The computer system in this embodiment analyzes the local spatial frequencies of die image and determines whether any coherent high spatial frequencies in die vertical dimension, the type of frequencies diat will suffer from interlace flicker, and will apply a flicker filter to die region as required in order to reduce the spatial frequencies in the vertical dimension to die point where the region will not suffer from interlace flicker. Common methods of analyzing spatial frequencies are known in the art. Once the analysis and filtering is complete for the entire image, this embodiment of the present invention will display die image on a television monitor. The advantage of this embodiment incorporating the frequency analysis and filtering is that it will reduce interlace flicker and images on the web page that have not been tagged to the extent that die images require filtering. Thus, a natural image taken from a photograph will most likely require no filtering whereas a computer generated image wi many horizontal lines will most likely require extensive filtering. The frequency analysis on such images would allow die web page designer to incorporate the two images in a web page widi equal sharpness qualities. This embodiment, however, does not eliminate the need for tags as previously described. Common metiiods used to analyze the local spatial frequencies in a downloaded image have limits. It is always the case that a human observer may desire to have complete conu-ol over how an image is filtered when it is displayed. This is especially true given die artistic nature of web page design. Therefore, the combination of this automatic filtering analysis together with the filtering tags described above having explicit flicker filtering instructions will produce die most desirable web page final product. In the foregoing specification the invention has been described with reference to specific exemplary embodiments Uicreof. It will, however, be evident diat various modifications and changes may be made ereto without depaning from me broader spirit and scope of die invention. The specification and drawings are, accordingly, to be regarded in an illustrative ratiier than restrictive sense. Moreover, ihc following claims indicate me scope of the invention, and all variations which come wi in the meaning and range of equivalency of die claims are to be embraced within tiieir scope.

Claims: CLAIMS What is claimed is: 1. A computer implemented method for filtenng object data contained in a first set of instrucuons during and execution of die first set of instructions, die first set of mstructions provided for processmg a World Wide Web (WWW) document, the method comprising die steps of: a) the first set of instrucuons decodmg a first statement, die first statement including at least one filtering command and object data, b) die first set of instrucuons issuing the first command to be executed, and c) in response to an execution of said first filtering command, die first set of mstructions decodmg the object data and determining whcdicr to filter the object data 2. The computer-implemented mediod of chum 1 , wherein die instrucuon is generated in a Hypertext Markup Language (HTML) 3. The computer-implemented mcihod of claim 1 , wherein one instruction is provided as a filtering argument to said first command to define a degree of filtering to be applied to the object data. 4. The computer implemented mediod of claim 1 further comprising die step of filtering the object data to reduce flickeπng effects of an unage to be displayed. 5. The computer-implemented mediod of claim 4, wherein said set of commands are HTML commands 6. A computer-readable medium having stored thereon a first set of instructions, said first set of instructions provided for processing a Web document, said first set of instruction, which, when executed by a processor, cause said processor to perform the steps of- a) the first set of instrucuons decoding a fust statement, the first statement including at least one filtering command and object data, b) die first set of instructions issuing the first command to be executed; and c) in response to an execution of said first filtering command, die first set of mstructions decodmg die object data and determining whei-her 10 filter the object data 7. The computer- implemented mediod of claim 6, wherein die instruction is generated in a Hypertext Markup Language (HTML) 8. The computer-implemented mediod ol claim 6, wherein at least one instruction is provided as a filtermg argument to said first command to define a degree of filtenng to be applied to the object data 9. The computer implemented method of claim 8 wherein die at lease one instruction determines whedier the object data will be filtered. 10. The computer-readable medium of claim 8, wherein said set of commands are HTML commands 1 1. A computer system comprising a first mechanism configured to filter object data contained in a first set of instructions during and to execute die first set of instructions, die first set of instructions provided for processmg a World Wide Web (WWW) document, the first mechanism further configured to decode a first statement using die first set of instrucuons, the first statement including al least one filtering command and object data; the first mechanism furdier configured to issue the first command to be executed using first set of instructions; and c) in response to an execution of said first filtenng command, die first mechanism furdier configured to decode die object data witii die first set of instructions and to determine whether to filter the object data. 12. The computer system of claim 1 1 , wherein the first statement is generated m a Hypertext Markup Language (HTML). 13. The computer system of claim 1 1 , further comprising- a second mechanism configured to retrieve, via a network connection, said Web document from a separate computer system. 14. The computer-implemented method of claim 1 1 , wherein one instruction is provided as a filtermg argument to said first command to define a degree of filtering to be applied to d e object data. 15. The computer system of claim 14, wherein said set of commands are HTML commands. 16. The computer system of claim 14, herein said first mechanism is furdier configured to filter die object data to reduce flickering effects of an image to be displayed.

Inventors: LEAK BRUCE A, PERLMAN STEPHEN G, LEAK, BRUCE, A., PERLMAN, STEPHEN, G.
Applicants: WEBTV NETWORKS INC, WEBTV NETWORKS, INC.
Application year: 1997
Main classification: G06T5
IPC codes: G06F17, G06T5, G09G5, H04N5