In V2V or other networks in which multiple video cameras can share video data, a user may elect to modify a primary view by electronically “removing” obstructing objects from the primary view. The user begins by identifying the objects to be electronically removed from the simulated view, either by designating the boundaries of the objects or by identifying classes of objects to be removed. Pel locations associated with obstructing objects are identified in the primary data set. video data provided by cameras other than a primary video camera is analyzed to identify common features in the primary and secondary views and to identify pels that correspond with object-associated pels in the primary view. A merged data set, consisting of pel data from the primary data set and from at least one of the secondary data sets, provides the video data presented in the simulated view.
|
1. A method of generating a view for presentation on a video display comprising:
receiving a primary set of video data from a first video camera, wherein the first video camera is located on a first participant, and the first participant is coupled to a communication network;
receiving user input designating an object to be excluded from the view presented on the video display;
receiving a secondary set of video data from a video camera other than the first video camera, wherein the video camera other than the first video camera is located on a second participant, and the second participant is coupled to the communication network;
associating data elements in said received secondary set of video data with data elements in said primary set of video data representing an object designated to be excluded from the view presented on the video display, wherein the associated data elements relate to an image of what is in front of the object designated to be excluded;
generating a set of video data comprising video data from said primary set and said associated data elements in said received secondary set; and
displaying the generated set of video data on the video display,
wherein the first participant and the second participant are configured to exchange data over the communication network.
8. A system comprising a video display and a controller for generating of view to be presented on said video display, said controller comprising:
a first video input system for receiving a primary set of video data from a first video camera, wherein the first video camera is to be located on a first participant, and the first participant is to be coupled to a communication network;
a user interface system for receiving a user input designating at least one object to be excluded from the view presented on a video display;
a second video input system for receiving a secondary set of video data from a video camera other than the first video camera, wherein the video camera other than the first video camera is to be located on a second participant, and the second participant is to be coupled to the communication network;
video processing logic for associating data elements in said received secondary set of video data with data elements in said received primary set of video data representing an object designated to be excluded from the view presented on the video display, wherein the associated data elements are to relate to an image of what is in front of the object designated to be excluded;
video combining logic for generating a set of video data comprising video data from said primary set and said associated data elements in said received secondary set; and
video driver logic for displaying the generated set of video data on the video display, wherein the first participant and the second participant are to be configured to exchange data over the communication network.
13. A computer program product for generating a view for presentation on a video display, said computer program product comprising a computer storage device having computer usable program code embodied therewith, said computer usable program code comprising:
computer usable program code configured to receive a primary sct of video data from a first video camera, wherein the first video camera is to be located on a first participant, and the first participant is to be coupled to a communication network;
computer usable program code configured to receive user input designating at least one object to be excluded from the view presented on the video display;
computer usable program code configured to receive a secondary set of video data from a video camera other than the first video camera, wherein the video camera other than the first video camera is to be located on a second participant, and the second participant is to be coupled to the communication network;
computer usable program code configured to associate data elements in said received secondary set of video data with data elements in said received primary set of video data representing an object designated to be excluded from the view presented on the video display, wherein the associated data elements are to relate to an image of what is in front of the object designated to be excluded;
computer usable program code configured to generate a set of video data comprising video data from said primary set and said associated data elements in said received secondary sct; and
computer usable program code configured to display the generated set of video data on the video display,
wherein the first participant and the second participant are to be configured to exchange data over the communication network.
2. A method according to
3. A method according to
4. A method according to
5. A method according to
6. A method according to
7. A method according to
9. A system according to
10. A system according to
11. A system according to
12. A system according to
14. A computer program product according to
15. A computer program product according to
16. A computer program product according to
17. A computer program product according to
18. A computer program product according to
19. A computer program product according to
|
This application is related to U.S. patent application Ser. No. (12/049,451) filed concurrently herewith, to U.S. patent application Ser. No. (12/049,458) filed concurrently herewith, to U.S. patent application Ser. No. (12/049,471) filed concurrently herewith, and to U.S. patent application Ser. No. (12/049,489) filed concurrently herewith.
The present invention relates to vehicle-to-vehicle (V2V) networks and more particularly to electronically removing identified objects from a displayed view based on video camera data.
Efforts have been underway for some time to establish standards for and to develop technology that would allow drivers within limited geographic areas to “talk” to each other by participating in ad hoc vehicle-to-vehicle networks in which audio, video and other data is shared among participating vehicles. It is envisioned that each vehicle participating in such a vehicle-to-vehicle network would be equipped with microphones for capturing audio data that could be shared directly with other vehicles independently of any existing communications networks, such as cellular telephone networks, and with video cameras for capturing video data both for use within the participating vehicle and for sharing with other vehicles participating in the network.
According to one proposal, data would be shared among vehicles using a Dedicated Short Range Communications (DSRC) wireless protocol operating in the 5.9 Gigahertz band that would support direct vehicle-to-vehicle communications over a relatively short range (100 meters-300 meters). The effective size of the network implemented using the DSRC would be significantly greater than the direct vehicle-to-vehicle maximum range, however, since each vehicle could relay data received from another vehicle to still other vehicles within its range. Relayed data could “hop” one vehicle at the time to vehicles progressively further away from the vehicle that was the source of the data.
Vehicle-to-vehicle networks would serve the general purpose of making participating drivers more aware of what is happening around them and a number of specific purposes, including safety-related purposes. Such networks would permit drivers to alert other drivers of traffic slowdowns, road hazards and approaching emergency vehicles. Such networks could also enable emergency vehicle personnel to alert drivers to their presence, letting alerted drivers anticipate the appearance of the emergency vehicles and more quickly clear paths for them.
The ability of a participating driver to receive and display views generated by video cameras installed in other participating vehicles is a major factor in enabling vehicle-to-vehicle networks to serve such purposes.
The present invention may be implemented as a method of generating a simulated view for presentation on a video display. A primary set of video data is received from the first video camera. User input designating at least one object to be excluded from the view presented on the video display is received along with a secondary set of video data from a video camera other than the first video camera. Data elements in the secondary set of video data representing an object designated to be excluded are identified and a set of video data is generated including data from the primary set and identified data elements in the received secondary set. The generated set of video data is displayed on the video display.
The present invention may also be implemented as a system including a video display and a controller for generating a simulated view to be presented on that video display. The controller includes a first video input system for receiving a primary set of video data from a first video camera, a user interface system for receiving the user input designating at least one object to be excluded from a view presented on the video display, and a second video input system for receiving a secondary set of video data from a video camera other than the first video camera. The controller also includes video processing logic for identifying data elements in the received secondary set of video data representing an object designated to be excluded from the presented view and video combining logic for generating a set of video data that includes video data from the primary set and identified data elements in the secondary set. Finally, the controller includes video driver logic for displaying the generated set of video data on the video display.
Finally, the present invention may be implemented as a computer program product for generating a simulated view for presentation on a video display. The computer program product includes a computer usable medium embodying computer usable program code configured to receive a primary set of video data from a first video camera, to receive user input designating at least one object to be excluded from the view presented on the video display, and to receive a secondary set of video data from a video camera other than the first video camera. The computer usable program code further includes code configured to identify data elements in the received secondary set of video data representing an object designated to be excluded from the presented view, to generate a set of video data including video data from the primary set and identified data elements in the secondary set, and to display the generated set of video data on the video display.
As will be appreciated by one skilled in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to the Internet, wireline, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Referring to
As a practical matter, roadside base stations, such as base station 30, may be considered participants in V2V networks by receiving data from and providing data to vehicles in the network even though the base stations obviously do not satisfy any conventional definition of the word “vehicle”.
Referring to
The size of the ad hoc network from the perspective of car 10 (or any other participant in the network) is not limited to vehicles with which car 10 may communicate directly. Each participating vehicle can act as a relay point, receiving data from a nearby vehicle and passing it on to other vehicles that are within the direct communication range of the relaying vehicle regardless of whether they are beyond the direct communication range of the vehicle from which the data originated. Thus, data can radiate along chains of vehicles, only one or a few of which may be within the direct communication range of the data source.
Referring to
Notwithstanding the driver of the vehicle 40 may be able, by using existing vehicle mirrors, be able to see a least some of what appears in the field of view of the various vehicle-mounted video cameras, video data captured by such cameras could still be useful to the driver. For one thing, the cameras may have a better field of view than the driver since the driver's view in any direction will usually be at least partially obstructed by the vehicle itself. The video cameras may be mounted to eliminate “blind spots” that have plagued drivers practically since the invention of the automobile. Also, video data captured by the cameras may be presented as part of a heads up display the driver can see while continuing to focus on the road in front of the vehicle.
In a V2V network, video data captured by cameras mounted on vehicle 40 may also be useful to drivers of other vehicles.
The present invention makes it possible for the driver of vehicle 66 to be provided with an in-vehicle simulated view in which selected objects are electronically removed from the view.
Using video data received from other vehicles, such as vehicles 60 and 62 and even tractor-trailer 64, it is possible to generate a simulated view on an in-vehicle display in vehicle 66 that electronically “removes” the tractor-trailer 64 from the view, allowing the driver of vehicle 66 to “see” what is in front of the tractor-trailer 64. A simulated view that can be made available to the driver of vehicle 66 is illustrated in
The tractor-trailer 64 obviously doesn't physically disappear but is removed electronically by a V2V data processing system integrated into the vehicle 66.
The input subsystem 72 includes local video sources 80 such as vehicle-mounted video cameras of the type already discussed and local audio sources 82, including such sources as vehicle-mounted microphones for capturing voice input from drivers and/or passengers or Bluetooth or other wireless protocols that support the capture of such voice input from wireless headsets used by drivers and/or passengers. The input subsystem 72 further includes connections to in-vehicle sensors 84, an obvious example of which is the vehicle speedometer, and to a GPS or Global Positioning System subsystem 88 that provides the vehicle's current global location.
The input subsystem 72 further includes a user input interface 90 for acquiring user data and commands. The user input interface can be implemented in a number of known ways. Key input technologies, touchscreen technologies and voice recognition technologies are nonexclusive examples of technologies that can be employed to capture user input.
All of the input subsystems described above can be characterized as local subsystems in that they capture data originating at the vehicle itself. The essence of a V2V network is that each vehicle participating in the network can make use of data provided by other participating vehicles. To make that possible, the input subsystem 72 must include a V2V receiver antenna 86 to acquire audio, video and other data from other vehicles participating in the V2V network.
Input data, both local and remote, is at least initially stored in a data storage subsystem 92 in the data processing subsystem 76. Stored data is retrieved from storage for use by data applications 94 that may be invoked by the vehicle driver or passengers using commands entered at the interface 90 and processed in a user input processing subsystem 96.
Output data resulting from execution of data applications in subsystem 94 may be made available to other participating vehicles through the use of a V2V output processing subsystem 98 connected to a V2V transmitter antenna 104. Depending upon the technologies employed, V2V transmitter antenna 104 and V2V receiver antenna 86 may be the same physical device. Output data may, of course, be used within the vehicle as well. Data intended for an in-vehicle video display 106 undergoes processing in a video output processing stage 100 before being directed to the display. Similarly, data intended for the in-vehicle audio system 108 is processed in an audio output processing stage 102 before being sent to the audio system.
As noted earlier, the objective of the present invention is to provide an in-vehicle display that simulates what the driver of the vehicle would see if the driver had the power to remove selected objects (that is, obstructions) from the driver's actual view. Referring to
User input relating to obstructing objects is processed in step 128 to identifying each of the objects to be electronically removed from the simulated view being presented on the in-vehicle display. Obstructing objects must be identified with reference to a primary data set; that is, the data provided by the primary video camera, and may be identified in different ways. In one embodiment of the invention, the user may use a bounding box to identify, at least roughly, the perimeter of an obstructing object. If touchscreen technology is available, the user may use a fingertip or a stylus to generally trace the perimeter of the object on the screen itself. If a pointing device (e.g., a mouse, joystick, etc.) is available, the user may manipulate the on-screen cursor to define opposite corners of a rectangular bounding box and then drag those corners to enlarge or shrink the bounding box until the bounding box at least generally lines up with the perimeter of the obstructing object. Where either of these technologies is employed, edge detecting algorithms may be then employed to refine the selection of the object perimeter by detecting the object edges in the video data.
In an alternative embodiment, the user may designate classes of objects to be removed from the simulated view; e.g., all cars, all trucks, etc. Further details about this approach are provided later.
Once each obstructing object is identified in the view defined by the primary data set, the pel locations associated with that object (or objects) must be identified in step 130 since the pels in these locations are the ones that need to be replaced by other data in building a simulated view for presentation on an in-vehicle video display.
Pels in the primary data set occurring in the pel locations associated with obstructing object are to be replaced with pels contained in video data received from other, secondary video cameras other than the primary video camera. Referring momentarily back to
Returning to
Once the appropriate pel locations are identified in at least one of the secondary data sets, the identified pels from the utilized secondary data sets are merged (step 138) with pel data from the primary data set to create a simulated view in which obstructing objects identified by the user are electronically removed; that is, pels representing those objects are replaced by the appropriate pels from the secondary video data sets.
As noted earlier, the user may elect to have an on-screen visual reminder that an object, while visually removed, is physically still present. The user's preferences as to visual reminders are detected in step 140. If the user has not registered a preference for a visual reminder, the simulated view generated by merging appropriate pel data from the primary and second video cameras, is sent to the in-vehicle display for presentation there in a step 146. If the driver has indicated a visible reminder should be provided, the reminder must be generated and added to the video data to be presented on the in-vehicle display.
For purposes of illustration, it is assumes the preferred form of visible reminder is a wireform representation of the object that is being electronically removed from the video images to be presented. A wireform representation, of the type illustrated in
As noted earlier, touchscreen technology and bounding boxes could be used by a driver to generally designate the boundaries or perimeters of objects to be electronically removed from a simulated view. An alternative approach would be to use object recognition technology to identify objects to be electronically removed. According to this approach, the driver would designate classes of objects to be removed and data being provided by the primary video camera would be analyzed using object recognition algorithms to identify objects falling in the designated classes. Once the objects were identified, the previously described approach of identifying pel locations associated with those subjects and replacing pels in those locations with pels derived from video data provided by the secondary video cameras could be used to build the simulated view presented on the in-vehicle display.
The infrastructure includes a system bus 170 that carries information and data among a plurality of hardware subsystems including a processor 172 used to execute program instructions received from computer applications running on the hardware. The infrastructure also includes random access memory (RAM) 174 that provides temporary storage for program instructions and data during execution of computer applications and are read only memory (ROM) 176 often used to store program instructions required for proper operation of the device itself, as opposed to execution of computer applications. Long-term storage of programs and data is provided by high-capacity memory devices 178, such as magnetic hard drives or optical CD or DVD drives.
In a typical computer system, a considerable number of input/output devices are connected to the system bus 170 through input/output adapters 180. Commonly used input/output devices include monitors, keyboards, pointing devices and printers. Increasingly, high capacity memory devices are being connected to the system through what might be described as general-purpose input/output adapters, such as USB or FireWire adapters. Finally, the system includes one or more network adapters 182 that are used to connect the system to other computer systems through intervening computer networks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. For example, while the provided description assumes that a primary data set is generated by a video camera mounted on a vehicle being used by the user who wants to build a simulated view, it is well within the scope of the invention for the user to be able to identify any video camera in the V2V network as the primary video camera, to build a simulated view using the identified video camera and transport that simulated view for presentation on a video display in his own vehicle. Moreover, while the invention has been described for use in a V2V network, it obviously has applicability to other networks where multiple video cameras may share video data; e.g., multi-camera video surveillance systems.
Having thus described the invention of the present application in detail and by reference to preferred embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims.
Grigsby, Travis M., Seacat, Lisa Anne, Miller, Steven Michael, Nesbitt, Pamela Ann
Patent | Priority | Assignee | Title |
10015720, | Mar 14 2014 | goTenna, Inc.; GOTENNA INC | System and method for digital communication between computing devices |
10149137, | Sep 23 2015 | International Business Machines Corporation | Enhanced communication system |
10255666, | Jan 08 2012 | Digital media enhancement system, method, and apparatus | |
10347130, | May 12 2014 | LG Electronics Inc. | Vehicle and control method thereof |
10602424, | Mar 14 2014 | goTenna Inc. | System and method for digital communication between computing devices |
10701420, | Sep 13 2018 | International Business Machines Corporation | Vehicle-to-vehicle media data control |
10944669, | Feb 09 2018 | goTenna, Inc. | System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos |
11082344, | Mar 08 2019 | goTenna, Inc.; GOTENNA,INC | Method for utilization-based traffic throttling in a wireless mesh network |
11558299, | Mar 08 2019 | goTenna, Inc. | Method for utilization-based traffic throttling in a wireless mesh network |
11750505, | Feb 09 2018 | goTenna Inc. | System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos |
11811642, | Jul 27 2018 | goTenna, Inc. | Vine™: zero-control routing using data packet inspection for wireless mesh networks |
9056556, | Feb 25 2014 | Elwha LLC | System and method for configuration and management of an energy storage system for a vehicle |
9079505, | Feb 25 2014 | Elwha LLC | System and method for management of a fleet of vehicles having an energy storage system |
9140782, | Jul 23 2012 | Google Technology Holdings LLC | Inter-vehicle alert system with nagable video look ahead |
9311818, | May 17 2013 | Industrial Technology Research Institute | Dymanic fusion method and device of images |
9706176, | May 20 2009 | MAPLEBEAR INC | Traffic system for enhancing driver visibility |
9756549, | Mar 14 2014 | goTenna Inc.; GOTENNA INC | System and method for digital communication between computing devices |
9810783, | May 15 2014 | XINCTEC TECHNOLOGIES LLC; XINCTEK TECHNOLOGIES LLC | Vehicle detection |
9878631, | Feb 25 2014 | Elwha LLC | System and method for predictive control of an energy storage system for a vehicle |
Patent | Priority | Assignee | Title |
5621645, | Jan 24 1995 | GARRISON LOAN AGENCY SERVICES LLC | Automated lane definition for machine vision traffic detector |
5825283, | Jul 03 1996 | System for the security and auditing of persons and property | |
6049756, | Nov 12 1997 | Lockheed Martin Corporation | System and method for avoiding collision between vector and solid objects |
6208270, | Nov 17 1997 | Thermo Trex Corporation | Device and method for detection of aircraft wire hazard |
6211907, | Jun 01 1998 | EVICAM INTERNATIONAL, INC | Secure, vehicle mounted, surveillance system |
6593960, | Aug 18 1999 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Multi-functional on-vehicle camera system and image display method for the same |
6608559, | Apr 18 1997 | Danger warning and emergency response system and method | |
6734787, | Apr 20 2001 | Fuji Jukogyo Kabushiki Kaisha | Apparatus and method of recognizing vehicle travelling behind |
6871971, | Jun 28 2001 | Back-up mirror system for vehicle safety when backing into lane(s) of cross-traffic with back-up mirror method | |
6965604, | Nov 01 1999 | Panasonic Intellectual Property Corporation of America | Method and apparatus for information transmission |
7034668, | Oct 27 2003 | Ford Global Technologies, LLC | Threat level identification and quantifying system |
7100190, | Jun 05 2001 | Honda Giken Kogyo Kabushiki Kaisha | Automobile web cam and communications system incorporating a network of automobile web cams |
7174402, | Apr 07 2003 | The Boeing Company | Systems, network devices and methods for highly configurable peer-to-peer communications between network devices communicating via a common bus |
7193645, | Jul 27 2000 | DISNEY ENTERPRISES, INC | Video system and method of operating a video system |
7227493, | Feb 08 2000 | Cambridge Consultants Limited | Methods and apparatus for obtaining positional information |
7248968, | Oct 29 2004 | Deere & Company | Obstacle detection using stereo vision |
7463138, | May 03 2002 | MAGNA ELECTRONICS INC | Object detection system for vehicle |
7477758, | May 05 1992 | AMERICAN VEHICULAR SCIENCES LLC | System and method for detecting objects in vehicular compartments |
7501934, | Sep 15 2004 | AT&T Intellectual Property I, L P | System and methods for vehicle sound font creation, playback, and networking |
7813822, | Oct 05 2000 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Intelligent electronic appliance system and method |
7938727, | Jul 19 2007 | SAMSUNG ELECTRONICS CO , LTD | System and method for providing interactive content for multiple networked users in a shared venue |
8117281, | Nov 02 2006 | NEONEKT, LLC | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
20020164962, | |||
20030023974, | |||
20030210806, | |||
20040022416, | |||
20040036622, | |||
20050004753, | |||
20050010955, | |||
20050031169, | |||
20050102374, | |||
20050185823, | |||
20050225634, | |||
20050278088, | |||
20060187305, | |||
20070052856, | |||
20070139523, | |||
20070174467, | |||
20080088706, | |||
20080181132, | |||
20080199050, | |||
20080211907, | |||
20080242221, | |||
20090023446, | |||
20090041300, | |||
20090063419, | |||
20090092183, | |||
20090096937, | |||
20090122740, | |||
20090226001, | |||
20090282164, | |||
20100175086, | |||
20100321183, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 07 2008 | GRIGSBY, TRAVIS M | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020658 | /0321 | |
Mar 08 2008 | NESBITT, PAMELA ANN | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020658 | /0321 | |
Mar 11 2008 | MILLER, STEVEN MICHAEL | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020658 | /0321 | |
Mar 11 2008 | SEACAT, LISA ANNE | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020658 | /0321 | |
Mar 17 2008 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Apr 15 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 24 2020 | REM: Maintenance Fee Reminder Mailed. |
Feb 08 2021 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jan 01 2016 | 4 years fee payment window open |
Jul 01 2016 | 6 months grace period start (w surcharge) |
Jan 01 2017 | patent expiry (for year 4) |
Jan 01 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 01 2020 | 8 years fee payment window open |
Jul 01 2020 | 6 months grace period start (w surcharge) |
Jan 01 2021 | patent expiry (for year 8) |
Jan 01 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 01 2024 | 12 years fee payment window open |
Jul 01 2024 | 6 months grace period start (w surcharge) |
Jan 01 2025 | patent expiry (for year 12) |
Jan 01 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |