This application includes computer program listing appendix on compact disc, hereby incorporated by reference.
1. Field of the Invention
The present invention relates to an interactive video system and more particularly to a system and method for creating and playback of interactive video. In a development mode of operation, the system automatically tracks a pixel object in a video sequence that has been selected in a video frame and generates one or more linked video files representative of the location of the selected object in all of the frames in the sequence, along with links to data objects for use in conjunction with an interactive video system. In a playback mode of operation, the system enables the pixel objects to be selected during subsequent playback of the video frames with a pointing device, such as a mouse, providing access to linked data objects.
2. Description of the Prior Art
There is a trend toward interactive video for various commercial, educational and entertainment purposes. To provide such interactivity, video content producers need to link various desired video or pixel objects within each of the video frames of the video content with data objects, such as web pages. In order to provide links for selected pixel objects in the various video frames, video content producers are known to implement image processing techniques for linking selected pixel objects in each of the various video frames to other platforms. Both manual and automatic image processing techniques are known.
Examples of systems in which the links are manually “authored” are disclosed in U.S. Pat. Nos. 5,774,666; 6,076,104 and 5,929,849. In general, manual image processing techniques involve editing each video frame in a video sequence and manually embedding links or hot spots in each of the frames for the desired pixel objects. Such a task is extremely labor intensive and thus expensive to implement. For example, a 30-minute television show is known to include 22 minutes of video content and 8 minutes of advertising inserts. At a playback rate of 30 frames per second, the 22 minutes of video content is comprised of (30 frames/second×60 seconds/minute×22 minutes) 39,600 frames. In order to provide the ability for interactivity, a video content producer thus would need to edit 39,600 frames for a 22-minute broadcast and embed links in each of the frames for one or more various objects. As mentioned above, such a task is extremely labor intensive and thus relatively expensive.
In order to improve image processing of video content for the purpose of providing interactivity by providing links to various objects within the video frames, automatic image processing systems have been developed that are able to automatically track an object in a video frame sequence and link the pixel objects to other platforms. Examples of such automatic authoring systems are disclosed in U.S. Pat. Nos. 6,205,231; 6,169,573 and 5,867,584.
U.S. Pat. No. 6,169,573 relates to a system for tracking objects in a sequence of video frames which track objects in a compressed format using variables encoded in MPEG compressed video content. Unfortunately, the system disclosed in the '573 patent is only useful for tracking objects in MPEG format and is not suitable for use with video content in an uncompressed format or other video format, such as .mov.
U.S. Pat. No. 6,205,231 discloses an image processing system that is able to automatically track an object in a video frame sequence. The system disclosed in the '231 patent incorporates known image processing techniques for tracking an edge of an object based on its color or luminosity characteristics. The system disclosed in the '231 patent “tags” selected objects in the video frame sequence which enables the tags and thus the selected object to be linked to other platforms, such as websites.
There are various problems with the system such as disclosed in the '231 patent, such as inaccurate tracking of the pixel object. In particular, image processing systems, such as disclosed in the '231 patent locate pixel objects within a video frame by locating pixels having a certain color variable value. Unfortunately, the color variable values for an object may change from scene to scene due to lighting effects or due to the effects of the decompression. The system disclosed in the '231 patent does not compensate for such changes and thus is not able to accurately track pixel objects in a video frame sequence. In addition, embedding tags in the original video content is resource intensive requiring relatively high level computing platforms.
U.S. Pat. No. 5,867,584 also relates to an image processing system for automatically tracking objects in a video frame sequence. This system attempts to anticipate the position of the selected object in succeeding frames by generating a number of virtual wire frames along a predetermined anticipatory trajectory of the pixel object in succeeding frames and comparing the pixel variables within the test windows of the anticipatory trajectory with the original test window. As such, the system disclosed in the '584 patent is resource intensive. In addition, the system utilizes known image processing techniques based on the intensity characteristic of the pixels within the windows. As such, the system disclosed in the '584 patent does not take into account changes in brightness and shifts in the hue due to lighting effects in the video frame and thus is unable to accurately track an object in a sequence of video frames. Thus, there is a need for image processing system for automatically tracking a selected object in a video frame sequence that is able to relatively accurately track the object and is not resource intensive.
The present invention relates to an image processing system for use in development and playback of interactive video. In a development mode of operation, pixel or video objects are selected in a frame by way of a developmental graphical user interface. The system automatically tracks the selected pixel objects in the preceding and succeeding video frames by determining range limits for various color variables of the selected pixel object to compensate for the effects in lighting changes and decompression effects. The system automatically locates pixel objects within the calculated range limits in the preceding and succeeding video frames and generates a pixel object file which identifies the coordinates of the selected pixel object in each frame. The pixel object file is linked to a data object file which links the selected pixel objects to data objects. The pixel object file and data object file, collectively “linked video files,” are created during a development mode of operation. During a playback mode of operation, the linked video files are imported to a video hosting platform which includes a video playback application and a common media player application programming interface (API) for playback of the video content. The video playback application supports processing of the linked video files to enable pixel objects to be selected by a pointing device and linked to data objects by way of a client side graphical user interface.
These and other advantages of the present invention will be readily understood with reference to the following specification and attached drawing wherein:
The present invention relates to a system and method for providing interactivity to various types of video content, such as streaming video content and on-demand video content, for example, from a DVD player. In a development mode of operation, the present invention includes an image processing system for automatically tracking a pixel object, selected in a frame of a video frame sequence, in preceding and succeeding video frames for the purpose of linking the selected object to one or more data objects, such as a uniform resource locator, fixed overlay information, a streaming video link, database interaction link or other resource platform (hereinafter “data object”). In accordance with an important aspect of the invention, the image processing system compensates for changes in brightness and shifts in hue on a frame by frame basis due to lighting effects and decompression effects by determining range limits for various color variable values, such as hue (H), red-green (R-G), green-blue (G-13) and saturation value2 (SV2) to provide relatively accurate tracking of a pixel object. Moreover, unlike some known image processing systems, the image processing system that forms part of the present invention does not embed tags in the video content. Rather the system, in accordance with the present invention, generates linked video files, which identify the pixel coordinates of the selected pixel object in each video frame as well as data object links associated with each pixel object. The linked video files are exported to a playback platform which includes a video playback application which supports playback of content of various compression schemes such as those used by various commonly known media players, such as Real Player, Windows Media Player and Quick Time and enables pixel objects to be selected during playback with a pointing device, such as a mouse which enables access to linked to data objects. The video playback application may be hosted in a video hosting platform or reside directly within a playback platform.
Graphical user interfaces (GUI) may be provided to facilitate the development of linked video files during a development mode of operation as well as facilitate playback during a playback mode of operation. In particular, a developmental GUI, for example, as illustrated in
Various embodiments of the invention are contemplated. For example, referring to
The resource platform 20 is used to support a development mode of operation in which the linked video files 24 are created from the original video content 22. As shown in
The resource computing platform 22 may be configured as a work station with dual 1.5 GHz processors, 512 megabits of DRAM, a 60 gigabit hard drive, a DVD-RAM drive, a display, for example, a 21-inch display; a 100 megabit Ethernet card, a hardware device for encoding video and various standard input devices, such as a tablet, mouse and keyboard. The resource computing platform 26 is, preferably provided with third party software to the hardware.
The video processing support computing platform 28 includes a show information database 34 and a product placement database 36. The show information database 34 includes identifying information relative to the video content, such as show name, episode number and the like. The product placement database 36 includes data relative to the various data objects, such as website addresses, to be linked to the selected pixel objects. The show information database 34 as well as the product placement database 36 may be hosted on the video processing support computing platform 28 or may be part of the resource computing platform 26.
In accordance with an important aspect of the invention, the linked video files 24 are created separately from the original video content 22 and are amenable to being exported to a video hosting platform 38 for use during a playback mode of operation. The video hosting platform 38 includes a common media player application programming interface (API) 40 and a playback application 42 for enabling playback of either streaming or on-demand video content with interactivity. In particular, the video playback application 42 enables pixel objects to be selected during playback of the video content by a standard input device, such as a mouse, and linked to data objects, for example, other resource platforms.
As shown in
Development Mode of Operation
The development mode of operation is discussed with reference to
Frame Extraction Application
The frame extraction application is illustrated in
Section Break Application
The pixel object capture application 30 may optionally be provided with a section break application 55 (
The section break application 55 automatically analyzes the video content to determine how changes in lighting affect RGB values creating large shifts in these values. In particular, the median average of the pixel values for a series of frames is computed. The section break application 55 compares the changes in the pixel values with the median average. A section break may be determined to be an approximately 5× change in pixel values from the median average. These section breaks are stored in a buffer 56 as a series of sequential frame numbers representing (start frame, end frame) where each start frame equals the proceeding frame plus one frame until the end of the video. This information may be edited by way of the graphical user interface 60 (
As will be discussed in more detail below, the frames in the video content are analyzed for a selected pixel object during a session with the pixel object capture application 30 (
Developmental Graphical User Interface
In order to facilitate development, a developmental graphical user interface 60 may be provided, as illustrated in
An exemplary product placement list display window 62 is used to provide a graphic list of all of the data objects associated with a particular video frame sequence. The product placement list display window 62 is populated by the product placement database 36 (
As shown in
A “Show Info” data field 64 may also be provided in the developmental graphical user interface 60. The show information data field 64 is populated by the show information database 34 and may include various data associated with the video frame sequence, such as production company name; show name; episode number/name; initial broadcast date; and proposed ratings.
A “Product Placement Info” data field 65 and an associated display 66 may also be provided. The display area 66 is a reduced size image of the image displayed in the display window 61. The Product Placement Info data field 65 include various information regarding the data objects stored in the product placement database 36 (
In order to facilitate automatic authoring of the video frame sequence, the developmental graphical user interface 60 may be provided with a number of control buttons 73-80. These control buttons 73-80 are selected by a pointing device, such as a mouse, and are collectively referred to as “Enabling Tools.” A “Set Scope” control button 73, when selected, allows a user to select a pixel object in the display window 61 by way of a point device. An x, y display 92 identifies the x and y coordinates within the display window 61 corresponding to a mouse click by the user in connection with the selection of the pixel object within the display window 61.
A “Set First Frame” control button 76 allows the first frame of the video frame sequence to be selected by the user. Once the “Set First Frame” button 76 is selected, a number of control buttons 82, 84 and 86 as well as a scroll bar 88 may be used to advance or back up the frame being displayed in the display window 61. A counter display 90 is provided which identifies the selected frame.
Once the first frame is selected by the user, as discussed above, a “Bound Object” button 75 may be selected. The Bound Object button 75 causes the system to automatically draw a boundary around the selected pixel object based upon image processing edge boundary techniques as discussed below. The boundary may take the shape of a geometric object, such as a square, rectangle or circle as discussed in more detail below in connection with the pixel object capture application 30. After initial object has been captured, the Track Object button 74 may be selected for initiating automatic tracking or authoring of the selected pixel object in both proceeding and succeeding frames. As will be discussed in more detail below, the pixel object locations video frames and are used to create the linked video files 24.
In order to facilitate development of the linked video file 24, markers may be used under the control of the control buttons 77-80. The markers are used to identify the first frame associated with a marker. For example, a marker display window 94 is provided. The “Insert Marker” button 77 is selected to mark the first frame linked to a specific pixel object. The markers may be displayed in text and include a reduced size version of the marked frame.
The markers can be changed and deleted. The “Change Marker” button 78 allows a marker to be changed. In particular, by selecting the “Change Marker” button 78, the frame associated with that marker can be changed. This may be done by advancing or backing up the video frame sequence until the desired frame is displayed in the display window 61. The current marker and the marker display window 94 may then be changed to refer to a different frame number by simply selecting the “Change Marker” button 78.
A “Delete Marker” button 79 allows markers in the marker display window 94 to be deleted. In order to delete a marker, the marker is simply highlighted in the marker display window 94 and the “Delete Marker” button 79 is selected.
A “Show Marker” button 80 may also be provided. The “Show Marker” button 80 controls the display of markers in the marker display window 94. The “Show Marker” button 80 may be provided with a toggle-type function in which a single click shows the markers in the marker display window 94 and a subsequent click clears the marker display window 94.
Each of the markers are displayed in a content map display window 96. The content map display window 96 displays a linear representation of the entire content with all markers depicted along with the frame numbers where the markers appear.
Pixel Object Capture Application
The pixel object capture application 30 is initiated after the first frame is selected by the user by way of the development graphical user interface 60. In particular, After the section breaks are determined, the estimated first frame of the content is displayed in a viewing window 61 on the graphical user interface 60. Once this frame is loaded in the viewing window 61, the user may choose to specify another frame to be notated as the first frame. This is done to ensure that any extra frames captured with the content that do not actually belong to the beginning of the content can be skipped. The user may select a specific frame as the first frame as discussed above. The selected video frame is then loaded into the viewing window 61 for frame analysis as discussed below. The process of choosing the first frame is only performed once at the beginning of the program content, it is not necessary to do this at the start of each section.
When the viewing window 61 is loaded with content, the resource computing platform 26 accesses the show information database 34 and the product placement database 36 (
Once a frame has been loaded into the viewing window 61 (
Selection and capturing of a pixel object is illustrated in connection with
For example, range limits for the color variables: hue (H), red-green (R-G), green-blue (G-B) and the saturation value2 (SV2) are determined for each of the variables. The range limits are determined by first determining the mean of the color variable from the sample and then for each variable, calculating the range limits to be, for example, 3× the sigma deviation from the mean to set the high and low range limit for each variable. Once the range limit for the variables are determined, known image processing techniques, for example, edge processing techniques, for example, as disclosed on pages 1355-1357 of Hu et al., “Feature Extraction and Matching as Signal Detection” International Journal of Pattern Recognition and Artificial Intelligence Vol. 8, No. 6, 1994, pages 1343-1379, hereby incorporated by reference, may be used to determine the boundaries of the color within a frame as indicated in step 114. All of the pixels within the bounding area are captured that fall within the range limits for the variables, hue, R-G, G-V, SV2 in step 116. Next, in step 118, a centroid is calculated for the bounding area and the range limits for the color variables are recalculated in step 118. The recalculated range limits determined in step 118 are used for determination of the edges of the bounding area in step 120 to define a finalized bounding area in step 122 for the object. In step 124, the location of the bounding area of the selected object is determined by capturing the (x, y) coordinates for the upper left corner and the lower right corner as well as the coordinates of the centroid of the bounded area. Thus far, selection of an object in a single frame of the video content has been discussed.
Automatic Pixel Object Tracking
Automatic tracking of the selected pixel object is described in connection with
Referring to
Linked Video Files
In order to further optimize the image processing of the video linking application 32, the resource computing platform 26 may process all or part of the video frames and store the coordinates in step 152 (
Since the linked video files 24 are based on a sample rate of three (3) frames per second, the linked video files 21 will be usable at any playback rate of the original content. Moreover, by limiting the sample rate to three (3) frames per second, the linked video files 21 are suitable for narrowband transmission, for example, with a 56 K bit modem as well as broadband streaming applications, such as ISDN, DSL, cable and T1 applications.
Exemplary linked video files 24 are described and illustrated below.
The first number in Line 1 (569) identifies the total number of lines in the linked video file 24 file. The next two numbers in Line 1 (0, 2172) are the first and last frame numbers for the movie clip associated with the linked video file 24. The next number in Line 1(30) indicates the playing of the movie clip in frames-per-second.
Line 2 only uses the first space, and the number in this space indicates the total numbers of video frame “clusters” in the video content.
In this example, Lines 3-131 contain information on the one hundred twenty-nine (129) video clusters. Each such line follows a similar format. The first number, 001 in this example, is the cluster number. The next two numbers (001,010) are the starting and ending frames of the video segment. The next number (4) indicates that this video cluster has four clickable areas or objects within it. The final number (132) indicates the line of the linked video file 24 where a detailed description of the video cluster can be found.
In this example, the detailed descriptions of the video clusters begins on line 132 for video cluster #1. The first line repeats the general video cluster information from prior in the linked video file 24. Each of the following four lines provide information on a separate clickable area. The first four numbers are the (x,y) coordinates for the upper left corner and the lower right corner, respectively. In Line 133, for instance, (6, 125) are the (x,y) coordinates for the upper left corner and (276, 199) are the (x,y) coordinates for the lower right corner of that video cluster. The last number in the line (“1” in Line 133) is the “link index”. The “link index” links the pixel object coordinates with the data object coordinates from the product placement database 36 (
Playback Mode of Operation
Playback of the video content and linked video files 24 is by way of a video hosting platform 38 and a playback platform 43. As shown in
The video hosting platform 38 includes a video playback application 42 which supports a common media player API 40 for playback of the video content and provides resources for accessing the linked video files 24 to enable pixel objects to be selected with a standard pointing device, such as a mouse, and linked to one or more data objects.
In particular, the video playback application 42 reads the linked data files 24 and stores these files in two arrays. The first array may be single dimensional and may contain information about the video content and in particular the segments. The second array may be used to provide information regarding the location of the pixel objects of clickable areas for each movie segments. Exemplary code for storing the linked data files into a first array and a second array is provided in an Appendix.
The video playback application 42 supports pixel objects within the video content 22 being selected with a standard pointing device, such as a mouse. The (x, y) coordinates of the location selected by the pointing device and the frame time that the location was selected are captured and compared with information in the linked video files 24 to determine whether the selected location corresponds to a selected pixel object. In particular, the (x, y) coordinates and frame time information of the pointing device are compared to the pixel object file to determine if the selected location in the display area 155 corresponds to a pixel object. This is determined by determining the elapsed time since the beginning of the video content, and multiplying the elapsed time by the playback rate. For example, for a mouse click at 2.5 seconds into the playback, the approximate frame will be 30 based on a 12 frame per second playback rate. Once the approximate frame is determined, the video playback application 42 determines the section from the section break application 55. Upon determining the section, all clickable areas in the section are scanned to determine the clickable area or pixel object that contains the x, y coordinates associated with the mouse click, if any. If so, the system displays the data object that has been linked to the pixel object by way of the link index in the object file in an display window 156. In particular, a data object, which is linked to the pixel object, is displayed. Exemplary code for returning a link index is provided in the Appendix.
The video playback application 42 may also be used to support a graphical user interface 153 as illustrated in
The playback application 42 may also provide for additional capability. For example, the graphical user interface 153 may be provided with buttons for categorizing the various data objects that have been linked to the video content. As shown, in
The “Pause on Click” and “Click and Connect” buttons or check boxes 165 and 167 may be provided. The “Pause on Click” button 165, once selected, pauses the video content in the display area 151 to allow a user time to decide whether to connect to an alternate resource platform at the present time after a selected pixel object has been linked to a data object or retrieve the data object from the inventory display window 156 at a later time. The “Click and Connect” button 167 may be used to display the link data object, for example, a web page in the background on the display area of the playback platform 43 outside of the graphical user interface 153, while the video content continues to display in the display window 151.
Additional functionality, such as “Show All Links in a Frame” and “Show All Links in Program” buttons 168 and 169 may also be provided. The “Show All Links in Frame” button 168 displays all links in a given frame in the inventory display window 156 when selected. This function allows a user to scroll through the access content, for example, by way of a scroll buttons 171 to locate the scene or frame in which the desired item appears. Once the frame has been located, the user can click within the displayed frame and all of the available items contained within the display frame are sorted and displayed in the inventory display window 155. The “Show All Links” button 169, when selected, displays all of the data object links to the video content. The data objects are displayed in the inventory display window 155.
A resume video button 172 may be provided. The resume video button 172 is used after selecting an object from the inventory display window 155. In particular, as mentioned above, objects selected from the inventory display window 155 link the application to another resource platform, such as a website. As mentioned above, in a click and connect mode of operation the video content continues to be displayed in the display window 151 in the player while the web page is displayed in the background on the display of the playback platform 42. The resume video button 172 simply allows playback of the video from the point at which the video playback application 42 was linked to another resource platform.
“Hide/Show List”, “Login”, “Clear List” and “Open Link” buttons 176, 178, 180 and 182 may also be provided. The “Hide/Show List” button 176 may be used to hide or show the functions of the graphical user interface 153. In particular, when the high/show list button 176 is selected, an on/off state is toggled and stored in memory.
The Login button 178 may be used to prevent or limit access by playback platform 43. The login capability may be used to capture valuable data about the user's habit and requested information. In this application, a web server (not shown) may be used to host a database of user information and password information commonly known in the industry. When the Login button 178 is selected, a request is sent from the playback platform 43 to a login web server for authentication. An authentication message may then return to the video hosting platform 38 to enable playback of the linked video content.
The Clear List button 180 may be provided to delete all of the data objects in the inventory display window 155. When the Clear List button 180 is selected the playback application 38 deletes all of the data objects in a temporary memory used for the inventory display window 155.
An Open Link button 182 allows for additional information for selected data objects to be accessed. In particular, once a data object is selected from the inventory display window 155, selection of the open link button 182 may be used to provide any additional information available for the selected data object.
A “thumbnail” display area 184 may be provided to display an image of a selected pixel object in a reduced size, or the frame from which it was selected, or another representational image or advertisement. The video playback application 38 may also support a chat room dialog box 186. The chat room dialog box 186 may be implemented using standard conventional software and provided with additional functionality. For example, images for an object listing within the inventory display area 155 may be dragged into the chat area dialog box 186. In response to such action, the video playback application 38 displays the clickable text space hyperlink in the chat dialog box 186. Clicking on the hyperlink functions transmits the thumbnail to the address generated.
Obviously, many modifications and variations of the present invention are possible in light of the above teachings. Thus, it is to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described above.
What is claimed and desired to be covered by a Letters Patent is as follows:
This application is a continuation of U.S. patent application Ser. No. 09/944,543, filed on Aug. 31, 2001, now U.S. Pat. No. 6,774,908, which is a continuation-in-part of commonly-owned, co-pending patent application Ser. No. 09/679,391, filed Oct. 3, 2000, entitled “Method and Apparatus for Associating the Color of an Object with an Event”.
Number | Name | Date | Kind |
---|---|---|---|
3878557 | Vidovic | Apr 1975 | A |
4719584 | Rue et al. | Jan 1988 | A |
4758714 | Carlson et al. | Jul 1988 | A |
4797920 | Stein | Jan 1989 | A |
4924303 | Brandon et al. | May 1990 | A |
4969189 | Ohta et al. | Nov 1990 | A |
5053607 | Carlson et al. | Oct 1991 | A |
5125022 | Hunt et al. | Jun 1992 | A |
5204749 | Toyama et al. | Apr 1993 | A |
5297194 | Hunt et al. | Mar 1994 | A |
5343529 | Goldfine et al. | Aug 1994 | A |
5430809 | Tomitaka | Jul 1995 | A |
5463728 | Blahut et al. | Oct 1995 | A |
H1506 | Beretta | Dec 1995 | H |
5475756 | Merritt | Dec 1995 | A |
5517605 | Wolf | May 1996 | A |
5590261 | Sclaroff et al. | Dec 1996 | A |
5659742 | Beattie et al. | Aug 1997 | A |
5677955 | Doggett et al. | Oct 1997 | A |
5684715 | Palmer | Nov 1997 | A |
5708845 | Wistendahl et al. | Jan 1998 | A |
5724091 | Freeman et al. | Mar 1998 | A |
5729741 | Liaguno et al. | Mar 1998 | A |
5737553 | Bartok | Apr 1998 | A |
5745103 | Smith | Apr 1998 | A |
5751286 | Barber et al. | May 1998 | A |
5752160 | Dunn | May 1998 | A |
5767894 | Fuller et al. | Jun 1998 | A |
5774666 | Portuesi | Jun 1998 | A |
5775995 | Okamoto | Jul 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5781228 | Sposato | Jul 1998 | A |
5793414 | Shaffer | Aug 1998 | A |
5794249 | Orsolini et al. | Aug 1998 | A |
5818440 | Allibhoy et al. | Oct 1998 | A |
5819286 | Yang et al. | Oct 1998 | A |
5822530 | Brown | Oct 1998 | A |
5841978 | Rhoads | Nov 1998 | A |
5867208 | McLaren | Feb 1999 | A |
5867584 | Hu et al. | Feb 1999 | A |
5872857 | Chodos et al. | Feb 1999 | A |
5874985 | Matthews, III | Feb 1999 | A |
5875303 | Huizer et al. | Feb 1999 | A |
5885086 | Gerber et al. | Mar 1999 | A |
5893110 | Weber et al. | Apr 1999 | A |
5900906 | Murakumo et al. | May 1999 | A |
5903816 | Broadwin et al. | May 1999 | A |
5903830 | Joao et al. | May 1999 | A |
5907323 | Lawler et al. | May 1999 | A |
5907597 | Mark | May 1999 | A |
5912980 | Hunke | Jun 1999 | A |
5929849 | Kikinis | Jul 1999 | A |
5929850 | Broadwin et al. | Jul 1999 | A |
5931908 | Gerba et al. | Aug 1999 | A |
5933005 | Pugh | Aug 1999 | A |
5937404 | Csaszar et al. | Aug 1999 | A |
5973692 | Knowlton et al. | Oct 1999 | A |
5983244 | Nation | Nov 1999 | A |
5987454 | Hobbs | Nov 1999 | A |
5987509 | Portuesi | Nov 1999 | A |
6005602 | Matthews, III | Dec 1999 | A |
6006241 | Purnaveja | Dec 1999 | A |
6006256 | Zdepski et al. | Dec 1999 | A |
6008816 | Eisler et al. | Dec 1999 | A |
6008820 | Chauvin et al. | Dec 1999 | A |
6016349 | Musa | Jan 2000 | A |
6016504 | Arnold et al. | Jan 2000 | A |
6018748 | Smith | Jan 2000 | A |
6026411 | Delp | Feb 2000 | A |
6031541 | Lipscomb et al. | Feb 2000 | A |
6032181 | Bedgedjian et al. | Feb 2000 | A |
6067401 | Abecassis | May 2000 | A |
6069630 | Lisle et al. | May 2000 | A |
6070161 | Higashio | May 2000 | A |
6070176 | Downs et al. | May 2000 | A |
6076104 | McCue | Jun 2000 | A |
6154879 | Pare, Jr. et al. | Nov 2000 | A |
6161108 | Ukigawa et al. | Dec 2000 | A |
6164528 | Hills et al. | Dec 2000 | A |
6169573 | Sampath-Kumar et al. | Jan 2001 | B1 |
6184878 | Alonso et al. | Feb 2001 | B1 |
6188777 | Darrell et al. | Feb 2001 | B1 |
6198833 | Rangan et al. | Mar 2001 | B1 |
6202151 | Musgrave et al. | Mar 2001 | B1 |
6204843 | Freeman et al. | Mar 2001 | B1 |
6205231 | Isadore-Barreca et al. | Mar 2001 | B1 |
6209025 | Bellamy | Mar 2001 | B1 |
6222937 | Cohen et al. | Apr 2001 | B1 |
6240555 | Shoff et al. | May 2001 | B1 |
6252586 | Freeman et al. | Jun 2001 | B1 |
6253238 | Lauder et al. | Jun 2001 | B1 |
6256785 | Klappert et al. | Jul 2001 | B1 |
6269348 | Pare, Jr. et al. | Jul 2001 | B1 |
6275989 | Broadwin et al. | Aug 2001 | B1 |
6337696 | Lindhorst et al. | Jan 2002 | B1 |
6337916 | Boyd et al. | Jan 2002 | B1 |
6357042 | Srinivasan et al. | Mar 2002 | B2 |
6397181 | Li et al. | May 2002 | B1 |
6411725 | Rhoads | Jun 2002 | B1 |
6424370 | Courtney | Jul 2002 | B1 |
6457018 | Rubin | Sep 2002 | B1 |
6493707 | Dey et al. | Dec 2002 | B1 |
6496981 | Wistendahl et al. | Dec 2002 | B1 |
6536043 | Guedalia | Mar 2003 | B1 |
6549643 | Toklu et al. | Apr 2003 | B1 |
6603921 | Kanevsky et al. | Aug 2003 | B1 |
6625315 | Laumeyer et al. | Sep 2003 | B2 |
6637032 | Feinleib | Oct 2003 | B1 |
6642940 | Dakss et al. | Nov 2003 | B1 |
6697796 | Kermani | Feb 2004 | B2 |
6724915 | Toklu et al. | Apr 2004 | B1 |
6741655 | Chang et al. | May 2004 | B1 |
6744908 | Chujoh et al. | Jun 2004 | B2 |
6819797 | Smith et al. | Nov 2004 | B1 |
6859799 | Yuen | Feb 2005 | B1 |
6925474 | McGrath et al. | Aug 2005 | B2 |
6990448 | Charlesworth et al. | Jan 2006 | B2 |
7003156 | Yamamoto et al. | Feb 2006 | B1 |
7020192 | Yamaguchi et al. | Mar 2006 | B1 |
7024020 | Lee et al. | Apr 2006 | B2 |
7032182 | Prabhu | Apr 2006 | B2 |
7054812 | Charlesworth et al. | May 2006 | B2 |
7178107 | Sezan et al. | Feb 2007 | B2 |
20020056136 | Wistendahl et al. | May 2002 | A1 |
20020069218 | Sull et al. | Jun 2002 | A1 |
20020087530 | Smith et al. | Jul 2002 | A1 |
20030122860 | Ino | Jul 2003 | A1 |
20030226150 | Berberet et al. | Dec 2003 | A1 |
20040215660 | Ikeda | Oct 2004 | A1 |
20040233233 | Salkind et al. | Nov 2004 | A1 |
20050022107 | Dey et al. | Jan 2005 | A1 |
20050044056 | Ray et al. | Feb 2005 | A1 |
20050044105 | Terrell | Feb 2005 | A1 |
20050086703 | Gupta et al. | Apr 2005 | A1 |
20050128318 | Leow et al. | Jun 2005 | A1 |
20050182759 | Yuen | Aug 2005 | A1 |
20050223031 | Zisserman et al. | Oct 2005 | A1 |
20050223034 | Kaneko et al. | Oct 2005 | A1 |
20050271304 | Retterath et al. | Dec 2005 | A1 |
20060082662 | Isaacson | Apr 2006 | A1 |
20060271594 | Haberman | Nov 2006 | A1 |
Number | Date | Country |
---|---|---|
0 615 223 | Sep 1994 | EP |
0 624 040 | Nov 1994 | EP |
2327837 | Feb 1999 | GB |
19970185491 | Apr 1998 | JP |
11-292512 | Oct 1999 | JP |
WO 9712342 | Mar 1997 | WO |
WO 9730551 | Aug 1997 | WO |
9828907 | Jul 1998 | WO |
9844435 | Oct 1998 | WO |
03041393 | May 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20040227768 A1 | Nov 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09944543 | Aug 2001 | US |
Child | 10786777 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09679391 | Oct 2000 | US |
Child | 09944543 | US |