US20200005361A1 - Three-dimensional advertisements - Google Patents

Three-dimensional advertisements Download PDF

Info

Publication number
US20200005361A1
US20200005361A1 US16/568,035 US201916568035A US2020005361A1 US 20200005361 A1 US20200005361 A1 US 20200005361A1 US 201916568035 A US201916568035 A US 201916568035A US 2020005361 A1 US2020005361 A1 US 2020005361A1
Authority
US
United States
Prior art keywords
modeling data
client
content item
content
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US16/568,035
Inventor
Roni F. Zeiger
Arthur E. Blume
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201161469038P priority Critical
Priority to US201213433240A priority
Application filed by Google LLC filed Critical Google LLC
Priority to US16/568,035 priority patent/US20200005361A1/en
Publication of US20200005361A1 publication Critical patent/US20200005361A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with three-dimensional environments, e.g. control of viewpoint to navigate in the environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders, dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0241Advertisement
    • G06Q30/0276Advertisement creation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Abstract

Computer-implemented methods for advertising a 3D object in a web browser are provided. In one aspect, a method includes obtaining modeling data for a 3D object, formatting the modeling data for display in an advertisement in a web browser, and providing the formatted modeling data to the web browser for display in the advertisement. The advertisement includes a display of at least a portion of the 3D object based on an initial default view or a user selected view based on a query received from the user. Systems and machine-readable media are also provided.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application claims the benefit of priority under 35 U.S.C. § 119 from U.S. Provisional Patent Application Ser. No. 61/469,038 entitled “Searchable 3D Object Viewer,” filed on Mar. 29, 2011, the disclosure of which is hereby incorporated by reference in its entirety for all purposes.
  • BACKGROUND Field
  • The present disclosure generally relates to the visualization of three-dimensional objects using a computer.
  • Description of the Related Art
  • Current three-dimensional models for advertised products in web browsers restrict how a viewer can interactively view the advertised product. For example, a three-dimensional model of an advertised automobile displayed in a web browser will not allow the user to view the automobile from any viewing position, or traverse the various layers of the automobile (e.g., from outside the automobile, through the automobile's exterior, and into the engine of the automobile) from any angle while adjusting the visibility of the layers based on the current viewing position.
  • SUMMARY
  • According to one embodiment of the present disclosure, a computer-implemented method for advertising a 3D object in a web browser is provided. The method includes obtaining modeling data for a 3D object, formatting the modeling data for display in an advertisement associated with a user search query in a web browser, and providing the formatted modeling data to the web browser for display in the advertisement. The advertisement includes a display of at least a portion of the 3D object based on an initial default view or a user selected view based on a query received from the user.
  • According to another embodiment of the present disclosure, a system for advertising a 3D object in a web browser is provided. The system includes a memory that includes modeling data for a 3D object, and a processor. The processor is configured to execute instructions to format the modeling data for display in an advertisement in a web browser, and provide the formatted modeling data to the web browser for display in the advertisement. The advertisement includes a display of at least a portion of the 3D object based on an initial default view or a user selected view based on a query received from the user. The query is an input from a pointing device directing a view of the 3D object.
  • According to a further embodiment of the present disclosure, a machine-readable storage medium includes machine-readable instructions for causing a processor to execute a method for advertising a 3D object in a web browser is provided. The method includes obtaining modeling data for a 3D object includes an outer surface and at least one internal structure beneath the outer surface, formatting the modeling data for display in an advertisement associated with a user search query in a web browser, and providing the formatted modeling data to the web browser for display in the advertisement. The advertisement is configured to be displayed with results from the user search query, and includes a display of at least a portion of the 3D object based on an initial default view or a user selected view based on a query received from the user. A view of the 3D object includes at least one of a rotation of the at least a portion of the 3D object, an opacity of the outer surface and the internal structure, a level of zoom of the at least a portion of the 3D object, and a determination of whether at least one of the outer surface and the internal structure are selected.
  • It is understood that other configurations of the subject technology will become readily apparent to those skilled in the art from the following detailed description, wherein various configurations of the subject technology are shown and described by way of illustration. As will be realized, the subject technology is capable of other and different configurations and its several details are capable of modification in various other respects, all without departing from the scope of the subject technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are included to provide further understanding and are incorporated in and constitute a part of this specification, illustrate disclosed embodiments and together with the description serve to explain the principles of the disclosed embodiments. In the drawings:
  • FIG. 1 illustrates an exemplary architecture for advertising a 3D object in a web browser.
  • FIG. 2 is a block diagram illustrating an exemplary client and server in the architecture of FIG. 1 according to certain aspects of the disclosure.
  • FIG. 3 illustrates an exemplary process for advertising a 3D object in a web browser.
  • FIGS. 4A-4F are exemplary screenshots of advertising a 3D object in a web browser on the exemplary client of FIG. 2.
  • FIG. 5 is a block diagram illustrating an exemplary computer system with which the client and server of FIG. 1 can be implemented.
  • DETAILED DESCRIPTION
  • In the following detailed description, numerous specific details are set forth to provide a full understanding of the present disclosure. It will be apparent, however, to one ordinarily skilled in the art that the embodiments of the present disclosure may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail so as not to obscure the disclosure.
  • The disclosed system receives a three-dimensional model of an advertised product, processes the three-dimensional model of the advertised product for display in a web browser, and then presents the three-dimensional model of the advertised product in a three-dimensional space within a web browser to allow a viewer to freely view and traverse the advertised product from and through any position. The disclosed system, which runs within the web browser, allows the viewer to further interact with the three-dimensional model using various user interfaces, such as a layer slider specific to the three-dimensional model, and a search box for searching for labels associated with portions of the three-dimensional model.
  • Exemplary Architecture
  • FIG. 1 illustrates an exemplary architecture 100 for advertising a 3D object in a web browser. The architecture includes servers 130 connected to clients 110 over a network 150. The servers 130 are configured to host and/or provide modeling data of a 3D object, such as a vehicle, appliance, electronic device, or other product, including related content such as web pages and user generated or provided content. In certain aspects, the modeling data of the 3D object includes a polygon mesh that defines the shape of a polyhedral object in 3D space that is representative of the 3D object. The modeling data can also include textures, bump maps, and normal maps, and other known approaches to making a polygonal mesh appear like a real object. The modeling data can further include customized light sources and a custom background color for a scene. The modeling data can yet further specify that certain parts of the polygonal mesh are translucent (e.g., a car window). The modeling data can also include identifiers of portions of the 3D object that can be searched using a query received from a user. For example, the modeling data of the 3D object can represent an inanimate object such as an automobile, where the user in response to entering the query “engine” is automatically shown the engine of the automobile. As another example, the modeling data of the 3D object can represent a 3D object having no internal structure, such as a sculpture, where the user in response to entering the query “head” is automatically shown the head of the sculpture. For purposes of load balancing, the modeling data can be hosted either on one or many separate servers 130.
  • The servers 130 can be any device having an appropriate processor, memory, and communications capability for hosting the modeling data of the 3D object and related content. The clients 110 to which the servers 130 are connected over the network 150 can be, for example, desktop computers, mobile computers, tablet computers, mobile devices (e.g., a smartphone or PDA), set top boxes (e.g., for a television), video game consoles, or any other devices having appropriate processor, memory, and communications capabilities. The network 150 can include, for example, any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Further, the network 150 can include, but is not limited to, any one or more of the following network topologies, including a bus network, a star network, a ring network, a mesh network, a star-bus network, tree or hierarchical network, and the like.
  • Each of the clients 110 is configured to receive part or all of the modeling data of the 3D object and display the modeling data to a user of the client 110 for the user to view in a 3D space, search, edit, and annotate. The user can view, at varying levels of detail, the 3D object from a position at any point outside or inside of the object, and can move the position of the view using an input device such as a keyboard, mouse, or a touchscreen. In certain aspects, the position from which the user can view the 3D object can be constrained. For example, if the user is changing the user's viewing position in an interior portion of the 3D object (e.g., “flying” around inside structures), the user's point of view can be constrained by their navigation such that if the user's view position intersects the polygonal mesh, the user's view position “bounces off” the mesh instead of passing through the mesh. The user can also to choose adjust the opacity of portions of the 3D object, such as by reducing the opacity of a surface layer to zero in order to see through the surface layer and view an inner layer. The user can further search the 3D object by entering a query. For example, when the user types “suspension,” the opacity of the shell, structural design, and cabin interior of an automobile is reduced and the position of the view is adjusted so that the user can see the suspension of the automobile. These features will be discussed in more detail herein below.
  • The modeling data of the 3D object can be retrieved by the client 110 from the server 130 using a 3D enhanced application, such as a web browser or mobile application. A 3D enhanced web browser includes an integrated 3D modeling and searching capability that is built-in to the web browser, e.g., a part of the web browser by default, as a standard, at the time the web browser is downloaded and installed on the client 110. An exemplary 3D modeling and searching capability is provided by WebGL, a 3D graphics application programming interface. Exemplary 3D enhanced web browsers include web browsers pre-installed with WebGL.
  • Exemplary Client and Server
  • FIG. 2 is a block diagram 200 illustrating an exemplary client 110 and server 130 in the architecture 100 of FIG. 1 according to certain aspects of the disclosure. The client 110 and the server 130 are connected over the network 150 via respective communications modules 118 and 138. The communications modules 118 and 138 are configured to interface with the network 150 to send and receive information, such as data, requests, responses, and commands to other devices on the network. The communications modules 118 and 138 can be, for example, modems or Ethernet cards.
  • The server 130 includes a processor 136, the communications module 138, and a memory 132. The memory 132 includes viewable modeling data of the 3D object 140 (“modeling data of the 3D object 140”), a web page 144 for instructing a web browser on how to model and search the 3D object (hereinafter “object browser web page 144”) using the modeling data of the 3D object 140, and user generated content 142 related to the modeling data of the 3D object 140. The client 110 includes a processor 112, the communications module 118, an input device 116, an output device 114, and a memory 120. The memory 120 of the client 110 includes the web browser 124 and optionally includes a local copy of the object browser web page 126 and a local copy of the modeling data of the 3D object 122. Thus, the object browser web page 144 and the modeling data of the 3D object 140 can be locally stored or remotely stored. A determination of whether to store a local copy of the object browser web page 126 and a local copy of the modeling data of the 3D object 122 can be made by the web browser 124. For example, the web browser 124 can include a setting of whether to store files in a local cache, or the object browser web page 144 itself can determine, for example, to stream only necessary information from the modeling data of the 3D object 140 to the client 110 and not store it in the memory 120 of the client.
  • The local copy of the object browser web page 126 and the local copy of the modeling data of the 3D object 122 are loaded into the memory 120 of the client 110 after a user of the client 110 (hereinafter simply “the user”) enters a command into the web browser 124 to send a request to the server 130 for the object browser web page 144 (e.g., as part of another web page, such as search results) and related modeling data of the 3D object 140. The processor 136 of the server is configured to receive the request from the web browser 124, and provide to the web browser 124 of the client 110, in response to the request, the modeling data of the 3D object 140 and the object browser web page 144. The object browser web page 144 can be, for example, a web page dedicated to browsing the 3D object 140. The object browser web page 144 can also be, for example, a web page that includes search results in response to a user search query as well as an interface to browse the 3D object 140 as an advertisement related to the search results.
  • The client 110 can store the local copy of the object browser web page 126 and the local copy of the modeling data of the 3D object 122 in its memory 120. In the alternative, the web browser 124 of the client 110 downloads the modeling data of the 3D object 140 on demand (e.g., streaming), and/or an initial portion of the modeling data of the 3D object 140 is stored locally (e.g., as the local copy of the modeling data of the 3D object 122) to begin the display of the 3D object on the output device 114 and the remaining portion of the modeling data of the 3D object 140 is downloaded as requested or needed by the enhanced web browser 124 for display on the output device 114.
  • The processor 112 of the client 110 is configured to execute instructions, such as instructions physically coded into the processor 112, instructions received from software in memory 120, or a combination of both. For example, the processor 112 of the client 110 is configured to execute instructions from the local copy of the object browser web page 126 causing the processor 112 to display, in the web browser 124 on the output device 114, at least a portion of the 3D object based on an initial default view, or a user selected view based on a query received from the user using the input device 116. As discussed herein in more detail, a view of the 3D object can include features to provide an opacity of the different portions of the 3D object, rotation of the 3D object, zoom, whether any portion of the 3D object has been selected, the state of any interfaces displayed, parameters related to customization of the 3D object generated by a user, and any annotations on the 3D object. The output device 114 can be a computer display, such as a touch screen display. The query can be an alphanumeric input, such as “engine” or “4” (for “four-wheel drive”), or input from an input device 116. Similarly, the query can be an alphanumeric input indirectly related to a portion of the 3D object (e.g., for an automobile, the entry “choke” can map to a carburetor) based on, for example, pre-defined mappings, user-generated contents, or implicit connections, such as prior user history. The query can also be received by voice input. Exemplary input devices 116 include a keyboard, mouse, microphone, or touch screen display. The query can further be provided from a menu, such as a quick menu of links. For example, a menu can be organized by collections of portions of the 3D object, such as a “left half” and “right half” of the 3D object. Using the input device 116, the user can view any portion of the 3D object in the web browser 124 from any angle at any position inside or outside the 3D object. The user can also use the input device 116 to search the 3D object and create, edit, and delete user generated content 142 related to the 3D object that is displayed on the output device 114.
  • Although the block diagram 200 illustrates, in the same memory 132 of a single server 130, the modeling data of the 3D object 140, the user generated content 142, and the object browser web page 144, the modeling data of the 3D object 140, the user generated content 142, and the object browser web page 144 can be in different memories and/or on different servers 130 as discussed above with reference to FIG. 1.
  • Obtaining Modeling Data for a 3D Object on the Client
  • FIG. 3 illustrates an exemplary process 300 for advertising a 3D object in a web browser of FIG. 2 using the web browser 124 of the exemplary client 110 of FIG. 2. Although process 300 is described with reference to FIG. 2, process 300 is not limited thereto and can be performed by other systems/configurations.
  • The process 300 begins by proceeding from step 301 to step 310 when the server 130 begins to prepare an advertisement with a 3D object for display. In step 310, the server 130 obtains modeling data for the 3D object 140 and formats the modeling data for display in an advertisement in the web browser 124. Formatting the modeling data 140 for display in the advertisement can include associating at least one user query command with at least one user interface control. For example, a user query command of pressing the “+” button on the keyboard 116 can be associated with a user interface control of zooming in to the 3D object 140. Next, in step 330, the formatted modeling data 140 is provided to the web browser 124 on the client 110 for display in an advertisement. The advertisement can be displayed, for example, in a web page, electronic message, mobile application, or social networking page.
  • In certain aspects, the modeling data 140 for the 3D object can be provided to an advertisement generator (e.g., or similar software application) on the server 130, and the advertisement generator can generate the advertisement in response to being provided the modeling data 140. The modeling data 140 for the 3D object can, for example, be selected from a library of modeling data for 3D objects. Modeling data for a 3D object can be provided to the library by an administrator of the server 130, or by users (e.g., user-generated content). Any portion of the 3D object can be authored by a user, such as by using a graphics utility connected to the authoring process. The authoring process can, for example, assign a default viewing position for the user-generated portion, or automatically choose a viewing position based on the size of the user-generated portion and the viewing position. A user can further configure light sources of a 3D object, including moving a light source or changing a color of the light source over time. A user can also customize background colors and background images for a 3D object within a scene.
  • In step 340, the client 110 displays the 3D object in the advertisement in the object browser web page 126 based on an initial default view of the 3D object or a user selected view of the 3D object based on a query received from a user as shown in FIG. 4A. The process 300 then ends in step 350.
  • Viewing the 3D Image in a Web Browser
  • Having obtained modeling data of the 3D object at the client 110 from the server 130 using the web browser 124, FIG. 4A illustrates a screenshot 400 of an initial default view of a 3D object 402 in an advertisement 404 as displayed on the output device 114. The advertisement 404 is included in a search results page 408. In exemplary FIGS. 4A-4F, the 3D object is an automobile. The initial default view shows an outer surface of the 3D object 402, a convertible roadster automobile. Although an automobile is used in the screenshots, another 3D object could be used.
  • The search results page 408 includes search results 424 associated with a search query for “convertible roadster.” A 3D advertisement 404 related to the search query, namely a 3D advertisement 404 for a convertible roadster, is displayed alongside the search results 424 with a hyperlink 406 to more information on the 3D advertisement 404. The 3D advertisement 404 includes a 3D object 402, namely, a 3D model of a convertible roadster. A user can interact with the 3D advertisement 404 within the search results page 408 by, for example, double clicking on the 3D advertisement 404 to adjust a zoom level of the 3D object 402. As another example, a user can interact with the 3D advertisement 404 within the search results page 408 by clicking and dragging within the 3D advertisement 404 to rotate the 3D object 402. FIG. 4B illustrates a screenshot 410 of a user selected view of the 3D object 402, namely, after a user has clicked and dragged the 3D object 402 of FIG. 4A to a different view position. A larger interface for viewing and interacting with the 3D advertisement 402, as illustrated in FIG. 4C, can be accessed by activation of the hyperlink 406.
  • FIG. 4C illustrates a screenshot 420 of a user interface for interacting with the 3D advertisement 402. The user interface of FIG. 4C includes the 3D object 402, an input field 404 for entering a query to be searched, a position control 406 for moving the position of the current view, a zoom control 408 for adjusting the zoom of the current view, and an opacity adjustment interface 418 (hereinafter referred to as “slider 418”) having a movable indicator 418 a for adjusting the opacity of the outer surface and/or internal structures (collectively referred to as “layers”) of the 3D object 402. The user interface also includes a message 426 from an advertiser for the 3D advertisement 402 by which a user can obtain more information on the advertised good or service.
  • Any part of the 3D object 402, whether as a whole or in part, let alone any part of the outer surface or the internal structures, are often referred to herein as “portions” or “items” of the 3D object 402 and can be displayed by the web browser 124 using the modeling data of the 3D object 140. Furthermore, in addition to the displayed user interface controls 406, 408, and 418, the user can use the input device 116, illustrated by cursor 401, to change the position of the view and the level of zoom of the view of the 3D object 402 to view any portion of the 3D object 402 from any angle (e.g., not limited to any axis). For example, the user can view the engine from the outside of the engine or the inside of the engine. As another example, the user can press and hold a button on a mouse input device 116 while dragging the cursor 401 across the screen in any direction in order to rotate the 3D object 402 in that direction, and use a mouse wheel or equivalent motion on a trackpad to control zooming and other 3D motions. FIG. 4D illustrates a screenshot 430 of the user interface of FIG. 4C after the 3D object 402 has been rotated.
  • In certain aspects, the 3D object 402 is viewable using a modified axial navigation model. Vertical user camera position control (e.g., up and down mouse gestures or keystrokes) shifts the 3D object 402 vertically in the view and horizontal user camera position control (e.g., left and right mouse gestures or keystrokes) rotate the 3D object 402 horizontally. The axial navigation model allows significant visibility of a vertically oriented model without the navigational complexity and disorientation that can occur in 3D displays with more degrees of navigational freedom. As such, the 3D object 402 can be a vertically or horizontally oriented model. In order to facilitate viewing of the top or bottom of a vertically oriented 3D object 402 presented axially, an additional feature added to the camera view modifies the navigational surface of the 3D object from which the camera view is positioned. Specifically, instead of a limited X/Y navigation over a notional cylinder, the navigational surface of a vertically oriented 3D object 402 is a cylinder with hemispherical ends (e.g., at the top and bottom). The modification permits viewing of the top or bottom of a vertically oriented 3D object 402 while retaining the navigational simplicity of the X/Y model.
  • Local Data Retrieval and Remote Data Streaming
  • The processor 112 of the client 110 is configured to retrieve, either from the local copy of the modeling data of the 3D object 122 on the client 110 or the modeling data of the 3D object 140 on the server, sufficient modeling data to render the 3D object 402 in response to a query from the user. For example, based on the position of the user's cursor 401 and the associated changing of the view of the 3D object 402, the modeling data 122 or 140 is being retrieved, from the memory 120 on the client 110 or the memory 132 of the server 130, for processing by the processor 112 and display on the output device 113. In certain aspects, the amount of modeling data 122 or 140 retrieved depends on the position of the cursor 401 (e.g., within the 3D space) and the current view.
  • In certain aspects, the modeling data of the 3D object 140 is retrieved from the memory 132 of the server 130 for storage on the client 110 all at once, as discussed above with reference to FIG. 3. In certain aspects, the modeling data of the 3D object 140 is streamed from the memory 132 of the server 130 as needed by the processor 112 of the client 110 for displaying on the output device 113 to render the 3D object 402 in response to a query from the user.
  • Specifically, the level of detail of the displayed portion of the 3D object 402 can be streamed to the client 110 for display by the processor 112 based on the proximity of the user's current view to the portion of the 3D object 402. In certain aspects, lower-resolution textures of the 3D object are first downloaded by the client 110, and higher-resolution textures are later downloaded if the user's current view increases in proximity to a portion of the 3D object 402. In certain aspects, an author of a 3D object can specify (e.g., via a utility connected with a 3D object authoring process) that some portions of the 3D object should be downloaded before others due to, for example, differing importance or aesthetic interest (e.g.,, to have the 3D object appear to be constructed sequentially in a visually appealing and animated way). Furthermore, levels of detail need only be downloaded once. For example, if a lower-resolution texture A is downloaded for a portion of the 3D object 402, and it is followed by a download of a higher-resolution texture B for the same portion, the higher-resolution view of the portion of the 3D object 402 is synthesized incrementally by the higher-resolution texture B being limited to the difference from the lower-resolution texture A (e.g., texture B is added into texture A). This is accomplished using standard web browser image file formats and scripting capabilities.
  • By way of example, the current view in FIG. 4C shows the external surface of the 3D object 402, the automobile, where the engine would not normally be visible. Accordingly, the processor 112, based on instructions from the local copy of the object browser web page 128, can request that only the modeling data for the outer surface of the 3D object 402 be provided to the client 110 in order to render the current view. If the user changes the current view to another view (e.g., of the engine) or requests a more detailed rendering of the current view, either of which requiring additional modeling data of the 3D object 140 for rendering, then that additional modeling data can be streamed from the server 130 to the client 110 for rendering.
  • In certain aspects, the 3D object 402 can be previewed using two-dimensional (2D) previewing. The server 130 can rotate the 3D object 402 in increments and capture a view from each position as an image. The images can then be appended together, for example, using a thumbnail strip (“thumbstrip”) graphic. The sequence of images can then be provided for presentation in an application that does not have integrated 3D modeling and searching capabilities. The sequence of images, when displayed sequentially, would appear as a 2D movie of the associated rotation of the 3D object 402. Such a 2D movie can be included for display along with the search results 424 in FIG. 4A for web browsers that are not 3D enhanced.
  • In certain aspects, the 3D object 402 can be superimposed by a user on a 2D object. For example, a consumer viewing an advertisement of a 3D car can superimpose the 3D car onto a 2D image of the user's garage.
  • Bookmarks
  • The initial default view of the screenshot 420 in FIG. 4C is associated with the URL 412 a displayed, “http://searchresults/3dadl.html#.” The address or URL 412 a for each view (also referred to as a “bookmark”) is unique to the view and can be shared with other users to allow the other users to see the same view the sharing user sees. The bookmark captures the view of the 3D object 402 in a URL, and includes parameters identifying the view, such as an amount of time to display the view, the opacity of the layers of the 3D object 402, rotation of the 3D object 402, zoom, whether any portion of the 3D object 402 has been selected, the state of the slider 418, parameters related to customization of the 3D object 402 generated by a user, and any annotations on the 3D object 402. In certain aspects, these parameters are included after a hash “#” symbol in the URL 412 a. When parameters of the 3D view change (e.g., portions are selected/deselected, portions change opacity, the position of the view changes), the parameters in the URL are updated. In certain aspects, the update occurs after a predetermined amount of time in order to avoid creating a significant number of URL entries (e.g., in the URL storage history) of the web browser 124. Such state representation within the URL 412 a allows for navigation back to previous views by pressing a previous page view button in the web browser 124 (e.g., a practical form of “undo” without having to implement an undo mechanism).
  • The bookmark can also be shared with another user by sending a link to the URL (e.g., URL 412 a) to the other user by, for example, simply copying the URL and pasting it into an email. When the other user loads the shared URL in a web browser, the other user will see the same view seen by the user who shared the URL.
  • Transcending Layers and Automatic Hiding and Showing Layers
  • When the position of the current view of the 3D object 402 changes in response to a query that is received from the user, the position can pass through, “transverse,” or “transcend” through the layers (e.g., transcending can include both ascending through a layer or descending through a layer). At the same time, the opacity of the layers of the 3D object 402 changes.
  • For example, returning to the exemplary screenshot from FIG. 4D, the current view is of the outer surface of the 3D object 402. The layers of the 3D object 402 are completely opaque as illustrated by the position of the indicator 418 a on the slider 418, which is at a leftmost position.
  • FIG. 4E is an exemplary screenshot 440 of a view of a portion of the 3D object 402 in the web browser 124, namely, a view of the mechanical layer of an automobile after the opacity of more external layers (e.g., the shell, structural design, and cabin interior) of the 3D object 402 have been modified. As illustrated in FIG. 4E, as a user slides the indicator 418 a towards the right, the opacity of the layers are automatically adjusted so that the user can view internal portions of the 3D object 402. During this process, the view can also display to the user a transcending through the three most external layers, the shell, structural design, and cabin interior of the automobile, as those layers are made less opaque so that the layer at which the engine is present, the mechanical layer, is more viewable to the user (not illustrated). The processor 112 is configured to adjust, based on the position of the user's current view, the level of opacity of the layers, and the processor 112 is further configured to transcend the current view from a first point on one side of a layer, through the layer, to a second point on the other side of the layer.
  • Layer Slider
  • In certain aspects, the slider 418 can be switched from a global adjustment mode illustrated in FIG. 4E to an individual adjustment mode. The processor 112 is configured to display the layer slider 418, which includes a labels button 418 h for choosing to display selected labels of the portions of the 3D object 402 from the current view. The slider 418 also includes a selection mechanism 418 g for selecting between a global adjustment mode of layers, namely the outer surface and/or internal structures, of the 3D object 402, and an individual adjustment mode of layers. In the individual adjustment mode of layers, a vertical slide indicators is displayed for each layer, namely, a vertical slide indicator for the shell layer 418 b, a vertical slide indicator for the structural design layer 418 c, a vertical slide indicator for the cabin interior layer 418 d, a vertical slide indicator for the mechanical layer 418 e, and a vertical slide indicator for the wheel and suspension layer 418 f. Each vertical slide indicator is configured to move along a y-axis and adjust the opacity of their respective 3D layers.
  • In the global adjustment mode of FIG. 4E designated by a first selection of the selection mechanism 418 g, the slider 418 includes a single horizontal slide indicator 418 a configured to move along a x-axis. The position of the vertical slide indicator 418 a along the x-axis jointly affects the opacity of layers of the 3D object 402. For example, when the horizontal slide indicator 418 a is at a leftmost position, as illustrated in FIG. 4C, all layers of the 3D object 402 are opaque and the view is limited to the external surface of the 3D object 402. As the horizontal slide indicator 418 a moves along the x-axis of the slider 410, layers of the 3D object 402 become less opaque in order of rightward movement, e.g., first the shell layer becomes less opaque, then the structural design layer becomes less opaque, and so on, until the wheel and suspension layer is made less opaque. When the horizontal slide indicator 418 a moves left along the x-axis of the slider 418, layers of the 3D object 402 become more opaque in the opposite order that they were made less opaque when the horizontal slide indicator 418 a moved right along the x-axis of the slider 418.
  • In the individual adjustment mode designated by a second selection of the selection mechanism 418 g, the slider 410 includes individual vertical slide indicators configured to move along the y-axis for each layer 418 b-f. Each of the layers is configured to become less opaque (i.e., more transparent) as their corresponding vertical slide indicator moves downward. If a vertical slide indicator is in a bottommost position, the corresponding layer is transparent (i.e., not opaque). Similarly, if a vertical slide indicator is in an intermediate position between a uppermost position and a bottommost position, the corresponding layer would be partially opaque.
  • In certain aspects not illustrated, both the horizontal slide indicator 418 a and the vertical slide indicators can be displayed together, such that the adjustment of one type of indicator on the slider 418 automatically affects the position of the other type of indicator on the slider 418. Furthermore, although slide indicators are disclosed as being vertical or horizontal, slide indicators can be provided in various other directions, along various other axes, or without a single axes.
  • Selection and Groups
  • When a portion of the 3D object 402 is selected, it is made more opaque/solid than neighboring portions of the 3D object 402, and an appropriate label (e.g., in the context of an automobile or mechanical device, a mechanical label) for the selected portion is displayed. In certain aspects, multiple portions of the 3D object 402 can be selected, either simultaneously or serially. A portion or multiple portions of the 3D object 402 can be selected in response to a query by a user, whether the query is a search using the input field 404 or a selection or using a input pointing device 116 (e.g., by clicking with a mouse or by using a lasso-type pointer or using marquee selection).
  • In certain aspects, the selection of multiple portions of the 3D object 402 can be selected by rendering the portions (e.g., model entities) of the 3D object 402 in distinct flat colors in an off-screen buffer, and then checking the pixel color under the cursor position. Multiple levels of selection can exist, such as, for example, when a portion(s) of the 3D object 402 is selected, the remaining portions of the 3D object 402 are made translucent on a first level and the selected portion(s) are made opaque on a second level. The user can choose between levels of selection via a user interface gesture such as, for example, by again selecting (e.g., via a mouse click) the selected portion of the 3D object 402.
  • The query by the user can include use of a selection tool that allows selection of one or multiple portions of the 3D object 402, and that can further allow the user to select one or multiple portions of the 3D object 402 to hide or otherwise reduce the visibility of those portions so as to better view other portions that were obscured by the now-hidden portions. In certain aspects, a selected portion of the 3D object 402 can be fixed to a certain opacity level (e.g., completely opaque or completely transparent) by selecting that portion, selecting a label associated with that portion, and/or switching to a “pin” mode. In pin mode, an additional interface can be provided that allows: portions of the 3D object 402 to be “pinned” (e.g., fixed to a certain opacity level), pinned portions of the 3D object 402 to be highlighted, pinned portions of the 3D object 402 to be listed (e.g., which checkboxes to pin/un-pin portions of the 3D object 402), and groups of pinned portions of the 3D object 402 to be unpinned.
  • In certain aspects, the user can select and isolate any portion of the 3D object 402 for viewing. For example, the user can select a user-defined portion of the suspension of the 3D object 402 using a lasso type tool and make the rest of the 3D object 402 transparent, and then view the user-defined portion of the suspension from any angle. This is accomplished, for example, using selection-specific navigation. In certain aspects, selection-specific navigation extends axial model navigation by generating a bounding box around one or more selected entities (e.g., selected via search or mouse click). A navigational surface, such as a cylindrical or bihemispherical surface, is fitted to the bounding box. Thus, when a user selects a portion of the 3D object 402, the user is automatically zoomed in to a closer view of the selected portion of the 3D object 402 that centers upon the selected portion. The remaining portions of the 3D object 402 can be made more transparent (e.g., invisible), thereby allowing the user to focus on the selected portion of the 2D object without increasing the complexity of the axial navigation paradigm. When the user deselects the portion of the 3D object 402, the user can be zoomed out to a farther-out view in which the rotational axis of the view passes through the center of the 3D object 402.
  • When a portion of the 3D object 402 is selected, including by selecting a label associated with that portion, the view of the selected portion can be refined and/or enhanced by adjusting the opacity of certain portions of the 3D object 402 as well as adjusting the zoom. The selected portions of the 3D object 402 can be related (e.g., in response to a query for “four wheel drive,” the tires, wheels, and suspension of the automobile can be selected together) or arbitrary (e.g., the user can select any number of portions of the 3D object 402 by clicking them with a mouse). These selected portions can be identified and stored as a group. The information on the group can be stored remotely in the user generated content 142 database in the memory 132 of the server 130. The group can be an arbitrary group of 3D object portions or a related group of 3D object portions.
  • Selective Labeling
  • The exemplary screenshot 440 of FIG. 4E illustrates a labeling option 418 h on the slider 418 to display all relevant labels in the current view has been activated and the indicator 418 a has been moved up to increase the opacity of the skeletal system layer. The current view of FIG. 4E is identified by and retrievable with the displayed URL 412 c.
  • The exemplary screenshot 440 of FIG. 4E includes a display of several labels 432, 434, and 436 identifying portions of the 3D object 402. The displayed labels 432, 434, and 436 are selected for display from a larger group of labels reflecting any portion of the object 402 within the bounds of the viewing area of the browser 124. The labels 432, 434, and 436 that are selected for display are selected based on a determination of large structures displayed in the browser 124 from among the layers of labels that can be displayed and the plurality of structures that are displayed. Thus, in certain aspects, the selected labels that are displayed are limited to the layer of the 3D object being viewed and limited to a given area of the view (e.g., like a “flashlight”). For example, in certain instances, labels that are within a certain radius surrounding the current position of the view or a mouse pointer are displayed.
  • In certain embodiments, labels can be selected for display based on other determinations, such as by weighting. For example, based on a current view of a 3D object 402, a determination is made regarding the visibility of portions of the 3D object 402, the size of portions of the 3D object 402, the opacity of portions of the 3D object 402, the proximity of portions of the 3D object 402 to the current view, and the order of layers of the 3D object. Heavier weights are assigned to portions of the 3D object 402 that are more visible, larger, more opaque, closer to the current view, and nearer to the outermost layer of the 3D object. A determination is then made to display labels for portions have sufficient weight, such as a weight greater than or equal to a predetermined threshold weight.
  • Annotations
  • A user, such as an advertiser or consumer, can further generate annotations for any portion of the 3D object 402 for display in the web browser 124. In certain aspects, annotations are a special type of label that otherwise follow the rules for displaying labels disclosed above and are searchable using the input field 404. Annotations include user-defined labels. The user can assign annotations to one or many portions of the 3D object 402, such as by creating an arbitrary group of portions of the 3D object 402 and assigning the arbitrary group an annotation. These annotations can be shared in, and displayed with, the bookmarks described above. For example, the content, location, and display parameters of an annotation can be stored as part of the URL of the bookmark. The annotations can be stored in the user generated content 142 database in the memory 132 of the server 130 for accessibility and viewing by other users.
  • The annotations can include text describing the associated 3D object portion, such as a definition of the associated 3D object portion or an explanation of a feature related to the associated 3D object portion. The annotations can be used to inform consumers, such as by providing annotations with explanation or annotations that are pricing features.
  • In certain embodiments, the user can generate an annotation by selecting (e.g., via a mouse click) a surface of any portion of the 3D object 402. At the point of selection, a visible marker can be displayed on the model, and a textual annotation or other form of content (e.g., image, hyperlink, video) can be associated with the marker. As the user navigates around the 3D object 402, the annotation is shown floating near the marker with its position continuously updated with any moving of the marker. The annotation can be shown or hidden depending on the presence of other content or the visibility or opacity of the portion or layer of the 3D object 402 with which the annotation is associated. Markers and their associated annotations can additionally be highlighted as part of a textual search on the model.
  • 3D Object Library
  • A user can use a 3D content generation tool such as AutoCAD, 3dx Max, or Maya to generate a 3D object 402 for display in the web browser 124. In certain aspects, an online application can be provided as a 3D content generation tool that allows authoring of 3D content directly in the web browser 124 using authoring aids such as still images, 3D images, diagrams, 3D reference volumes, and other 3D content authored by other user. The 3D generated content can be shared amongst users such that a library of 3D objects 402 can be made available to users for editing and placement in the 3D advertisement 404. For example, generated 3D content can be uploaded to a shared location and tagged for later indexing and retrieval.
  • Bookmark Tours
  • Bookmarks (e.g. URLs 412 a, 412 b, and 412 c) can be shared amongst users to create a video or “tour.” Specifically, several bookmarks can be loaded in sequence to display several views of the 3D object 402 in sequence. For example, a first URL for a view of a front view of an automobile can be loaded, followed by the loading of a second URL for a side view of the automobile, followed by the loading of a third URL for a view of the back of the automobile. These three URLs, when loaded together, give the appearance of a tour of traveling around the exterior of the automobile due to the user's view of the 3D object 402 transcending between the three views, for example, using animation. A user can view multiple bookmarks representing a tour, for example, by receiving a single address associated with the multiple bookmarks, and loading the single address in the 3D enhanced web browser 124 by clicking on the single address. The multiple bookmarks are then loaded by the 3D enhanced web browser 124 in response to the loading of the single address, for example, due to the single address being a shortened URL associated with the multiple bookmarks.
  • Accordingly, the processor 112 of the client 110 is configured to execute instructions from the local copy of the object browser web page 126 causing the processor 112 to receive, by a user, a first address associated with a first view of the 3D object 402 and a second address associated with a second view of the 3D object 402. The processor 112 is also configured to sequentially display the first view of the 3D object 402 in the 3D enhanced web browser 124 on the output device 114 based on the first address and the second view of the 3D object 402 in the web browser 124 based on the second address. The current view of the user transcends from the first view of the 3D object 402 in the web browser 124 to the second view of the 3D object 402 in the web browser 124 as described above.
  • The first address and the second address can be associated with Uniform Resource Locator (URL) links received from a second user (e.g., they can be pointers), or the first address and the second address can be URLs themselves. The display of the first view and the second view in the web browser 124 can be in response to the user activating the URL links for the first address and the second address. The transition of the current view of the user transcending from the first view of the 3D object 402 to the second view of the 3D object can be animated.
  • Additionally, a single address can be provided that is associated with the first address and the second address, such that, when the single address is loaded in the web browser 124, the first address and the second address are received or otherwise loaded by the web browser 124. When each of the single address, the first address, and the second address are URLs, the first address and the second address can be associated with the single address using a URL shortener.
  • Advertisement Builder
  • FIG. 4F illustrates a screenshot 450 of an advertisement builder interface 446. The advertisement builder interface 446 is configured to be a front end web page interface for user access. A user, such as an advertiser, can provide modeling data of a 3D object 140 to the advertisement builder interface 446 the advertisement builder interface 446 can generate a 3D advertisement 404 using the 3D object 140. In certain aspects, the user can provide additional parameters to the advertisement builder interface 446 in order to specify the output 3D advertisement 404 (e.g., colors, text, animations, etc.).
  • The screenshot 450 of the advertisement builder interface 446 includes exemplary instructions to the user on how to generate a 3D advertisement. The exemplary instructions include providing modeling data of a 3D object 140 in either 3ds Max or Maya format 442 and providing a list of parts (e.g., labels) of the modeling data of the 3D object 140.
  • Exemplary Computer System for the Server and/or Client
  • FIG. 5 is a block diagram illustrating an exemplary computer system with which the clients 110 and servers 130 of FIG. 1 can be implemented. In certain aspects, the computer system 500 may be implemented using hardware or a combination of software and hardware, either in a dedicated server, or integrated into another entity, or distributed across multiple entities.
  • Computer system 500 (e.g., clients 110 and servers 130) includes a bus 508 or other communication mechanism for communicating information, and a processor 502 (e.g., processor 112 and 136) coupled with bus 508 for processing information. By way of example, the computer system 500 may be implemented with one or more processors 502. Processor 502 may be a general-purpose microprocessor, a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gated logic, discrete hardware components, or any other suitable entity that can perform calculations or other manipulations of information.
  • Computer system 500 can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them stored in an included memory 504 (e.g., memory 120 and 132), such as a Random Access Memory (RAM), a flash memory, a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable PROM (EPROM), registers, a hard disk, a removable disk, a CD-ROM, a DVD, or any other suitable storage device, coupled to bus 508 for storing information and instructions to be executed by processor 502. The processor 502 and the memory 504 can be supplemented by, or incorporated in, special purpose logic circuitry.
  • The instructions may be stored in the memory 504 and implemented in one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, the computer system 500, and according to any method well known to those of skill in the art, including, but not limited to, computer languages such as data-oriented languages (e.g., SQL, dBase), system languages (e.g., C, Objective-C, C++, Assembly), architectural languages (e.g., Java, .NET), and application languages (e.g., PHP, Ruby, Perl, Python). Instructions may also be implemented in computer languages such as array languages, aspect-oriented languages, assembly languages, authoring languages, command line interface languages, compiled languages, concurrent languages, curly-bracket languages, dataflow languages, data-structured languages, declarative languages, esoteric languages, extension languages, fourth-generation languages, functional languages, interactive mode languages, interpreted languages, iterative languages, list-based languages, little languages, logic-based languages, machine languages, macro languages, metaprogramming languages, multiparadigm languages, numerical analysis, non-English-based languages, object-oriented class-based languages, object-oriented prototype-based languages, off-side rule languages, procedural languages, reflective languages, rule-based languages, scripting languages, stack-based languages, synchronous languages, syntax handling languages, visual languages, wirth languages, and xml-based languages. Memory 504 may also be used for storing temporary variable or other intermediate information during execution of instructions to be executed by processor 502.
  • A computer program as discussed herein does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
  • Computer system 500 further includes a data storage device 506 such as a magnetic disk or optical disk, coupled to bus 508 for storing information and instructions. Computer system 500 may be coupled via input/output module 510 to various devices. The input/output module 510 can be any input/output module. Exemplary input/output modules 510 include data ports such as USB ports. The input/output module 510 is configured to connect to a communications module 512 (e.g., communications module 118 and 138). Exemplary communications modules 512 include networking interface cards, such as Ethernet cards and modems. In certain aspects, the input/output module 510 is configured to connect to a plurality of devices, such as an input device 514 (e.g., input device 116) and/or an output device 516 (e.g., output device 114). Exemplary input devices 514 include a keyboard and a pointing device, e.g., a mouse or a trackball, by which a user can provide input to the computer system 500. Other kinds of input devices 514 can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. Exemplary output devices 516 include display devices, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user.
  • According to one aspect of the present disclosure, the client 110 and server 130 can be implemented using a computer system 500 in response to processor 502 executing one or more sequences of one or more instructions contained in memory 504. Such instructions may be read into memory 504 from another machine-readable medium, such as data storage device 506. Execution of the sequences of instructions contained in main memory 504 causes processor 502 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in memory 504. In alternative aspects, hard-wired circuitry may be used in place of or in combination with software instructions to implement various aspects of the present disclosure. Thus, aspects of the present disclosure are not limited to any specific combination of hardware circuitry and software.
  • Various aspects of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network and a wide area network.
  • Computing system 500 can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. Computer system 500 can also be embedded in another device, for example, and without limitation, a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, a video game console, and/or a television set top box.
  • The term “machine-readable storage medium” or “computer readable medium” as used herein refers to any medium or media that participates in providing instructions to processor 502 for execution. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as data storage device 506. Volatile media include dynamic memory, such as memory 504. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 508. Common forms of machine-readable media include, for example, floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. The machine-readable storage medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.
  • While this specification contains many specifics, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of particular implementations of the subject matter. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations, one or more features can in some cases be excised from the combination, and the combination may be directed to a subcombination or variation of a subcombination.
  • Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the aspects described above should not be understood as requiring such separation in all aspects, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Claims (21)

1-24. (canceled)
25. A computer-implemented method comprising:
identifying, by a server responsive to a request for content to be displayed in a content slot within an information resource of a content publisher, a content item including a 3D object for display within the content slot of the information resource, the content item associated with a content provider different than the content publisher of the information resource and the 3D object associated with modeling data for displaying multiple views of the 3D object, the content item including a first portion of the modeling data for displaying the 3D object in a first view and computer executable instructions for associating one or more input commands with one or more respective user interface controls provided to modify the first view;
transmitting, by the server to the client device, the content item for displaying the 3D object within the content slot of the information resource;
receiving, by the server from the client device, instructions to modify the first view of the 3D object to a second view responsive to receipt of an input command of the one or more input commands by the client device;
identifying, by the server responsive to the instructions to modify, a second portion of the modeling data, the first and second portions to display the second view of the 3D object in the content item; and
transmitting, by the server, the second portion of the modeling data to the client device to display the 3D object in the second view in the content item instead of the first view.
26. The computer-implemented method of claim 25, wherein identifying the content item includes generating the content item.
27. The computer-implemented method of claim 26, wherein generating the content item includes:
providing a user interface to allow the content provider to provide the modeling data associated with the 3D object; and
incorporating the first portion of the modeling data and the computer executable instructions for associating the one or more input commands with the one or more respective user interface controls in the content item.
28. The computer-implemented method of claim 27, wherein the modeling data for the 3D object is selected from a library of modeling data for 3D objects associated with the user interface.
29. The computer-implemented method of claim 25, wherein the information resource includes at least one of a web page, mobile application, or social networking page.
30. The computer-implemented method of claim 25, wherein the 3D object comprises an outer surface and at least one internal structure beneath the outer surface.
31. The computer-implemented method of claim 30, wherein the second view of the 3D object comprises at least one of a rotation of a portion of the 3D object, an adjusted opacity of the outer surface or the internal structure, a level of zoom of a portion of the 3D object, or a determination of whether at least one of the outer surface and the internal structure are selected.
32. The computer-implemented method of claim 25, further comprising generating a preview of a transcending from a third view of the 3D object to a fourth view of the 3D object using a plurality of predetermined two-dimensional images.
33. The computer-implemented method of claim 25, further comprising displaying at least one identification label associated with at least one item of the 3D object within the second view based on an input command received by the client device.
34. The computer-implemented method of claim 25, further comprising generating a Uniform Resource Locator (URL) of the second view of the 3D object in the content item and sharing the URL with a second client device by sending a link, wherein, when the second client device activates the link, the second view of the 3D object in the content item is displayed on the second client device.
35. A system for advertising a three-dimensional (3D) object in a web browser, the system comprising:
a memory comprising modeling data for a 3D object;
a processor configured to execute instructions to:
identify, responsive to a request for content to be displayed in a content slot within an information resource of a content publisher, a content item including a 3D object for display within the content slot of the information resource, the content item associated with a content provider different than the content publisher of the information resource and the 3D object associated with modeling data for displaying multiple views of the 3D object, the content item including a first portion of the modeling data for displaying the 3D object in a first view and computer executable instructions for associating one or more input commands with one or more respective user interface controls provided to modify the first view;
transmit, to the client device, the content item for displaying the 3D object within the content slot of the information resource;
receive, from the client device, instructions to modify the first view of the 3D object to a second view responsive to receipt of an input command of the one or more input commands by the client device;
identify, responsive to the instructions to modify, a second portion of the modeling data, the first and second portions to display the second view of the 3D object in the content item; and
transmit the second portion of the modeling data to the client device to display the 3D object in the second view in the content item instead of the first view.
36. The system of claim 35, wherein in identifying the content item, the processor is configured to generate the content item.
37. The system of claim 36, wherein in generating the content item, the processor is configured to:
provide a user interface to allow the content provider to provide the modeling data associated with the 3D object; and
incorporate the first portion of the modeling data and the computer executable instructions for associating the one or more input commands with the one or more respective user interface controls in the content item.
38. The system of claim 37, wherein the modeling data for the 3D object is selected from a library of modeling data for 3D objects associated with the user interface.
39. The system of claim 35, wherein the information resource includes at least one of a web page, mobile application, or social networking page.
40. The system of claim 35, wherein the 3D object comprises an outer surface and at least one internal structure beneath the outer surface.
41. The system of claim 35, wherein the second view of the 3D object comprises at least one of a rotation of a portion of the 3D object, an adjusted opacity of the outer surface or the internal structure, a level of zoom of a portion of the 3D object, or a determination of whether at least one of the outer surface and the internal structure are selected.
42. The system of claim 35, wherein the processor is further configured to generate a preview of a transcending from a third view of the 3D object to a fourth view of the 3D object using a plurality of predetermined two-dimensional images.
43. The system of claim 35, wherein the processor is further configured to cause display of at least one identification label associated with at least one item of the 3D object within the second view based on an input command received by the client device.
44. The system of claim 35, wherein the processor is further configured to generate a Uniform Resource Locator (URL) of the second view of the 3D object in the content item and sharing the URL with a second client device by sending a link, wherein, when the second client device activates the link, the second view of the 3D object in the content item is displayed on the second client device.
US16/568,035 2011-03-29 2019-09-11 Three-dimensional advertisements Pending US20200005361A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US201161469038P true 2011-03-29 2011-03-29
US201213433240A true 2012-03-28 2012-03-28
US16/568,035 US20200005361A1 (en) 2011-03-29 2019-09-11 Three-dimensional advertisements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/568,035 US20200005361A1 (en) 2011-03-29 2019-09-11 Three-dimensional advertisements

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US201213433240A Continuation 2012-03-28 2012-03-28

Publications (1)

Publication Number Publication Date
US20200005361A1 true US20200005361A1 (en) 2020-01-02

Family

ID=47148053

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/433,237 Active 2032-06-15 US8860717B1 (en) 2011-03-29 2012-03-28 Web browser for viewing a three-dimensional object responsive to a search query
US13/433,230 Active US8314790B1 (en) 2011-03-29 2012-03-28 Layer opacity adjustment for a three-dimensional object
US16/568,035 Pending US20200005361A1 (en) 2011-03-29 2019-09-11 Three-dimensional advertisements

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/433,237 Active 2032-06-15 US8860717B1 (en) 2011-03-29 2012-03-28 Web browser for viewing a three-dimensional object responsive to a search query
US13/433,230 Active US8314790B1 (en) 2011-03-29 2012-03-28 Layer opacity adjustment for a three-dimensional object

Country Status (1)

Country Link
US (3) US8860717B1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5814853B2 (en) * 2012-04-18 2015-11-17 富士フイルム株式会社 Stereo model data generation apparatus and method, and program
WO2013184528A2 (en) * 2012-06-05 2013-12-12 Apple Inc. Interactive map
JP5904544B2 (en) * 2012-06-28 2016-04-13 富士通株式会社 Visualization program, visualization method, and visualization apparatus
FR2998080A1 (en) * 2012-11-13 2014-05-16 France Telecom Process for increasing reality
SG11201503711YA (en) * 2012-11-23 2015-06-29 Cadens Medical Imaging Inc Method and system for displaying to a user a transition between a first rendered projection and a second rendered projection
WO2014134392A2 (en) * 2013-03-01 2014-09-04 Modernizing Medicine, Inc. Apparatus and method for assessment of patient condition
US9483873B2 (en) * 2013-03-26 2016-11-01 Autodesk, Inc. Easy selection threshold
GB2515266B (en) * 2013-05-09 2018-02-28 Disney Entpr Inc Manufacturing Process for 3D Printed Objects
CN105210118B (en) * 2013-05-10 2019-03-29 皇家飞利浦有限公司 It is suitble to the 3-D model visualization of the patient interface device of the face of patient
US9452294B2 (en) * 2013-05-16 2016-09-27 Nuvectra Corporation Automatic current balancing with lock control for a clinician programmer
KR20150000030A (en) * 2013-06-20 2015-01-02 삼성전자주식회사 Contents sharing service
US9645651B2 (en) 2013-09-24 2017-05-09 Microsoft Technology Licensing, Llc Presentation of a control interface on a touch-enabled device based on a motion or absence thereof
WO2015126098A1 (en) * 2014-02-24 2015-08-27 Samsung Electronics Co., Ltd. Method and apparatus for displaying content using proximity information
US9827714B1 (en) 2014-05-16 2017-11-28 Google Llc Method and system for 3-D printing of 3-D object models in interactive content items
US9529696B2 (en) 2014-05-30 2016-12-27 Apple Inc. Screen bounds for view debugging
EP2957987A1 (en) * 2014-06-19 2015-12-23 Nokia Technologies OY A non-depth multiple implement input and a depth multiple implement input
WO2016021861A1 (en) * 2014-08-02 2016-02-11 Samsung Electronics Co., Ltd. Electronic device and user interaction method thereof
US9594489B2 (en) 2014-08-12 2017-03-14 Microsoft Technology Licensing, Llc Hover-based interaction with rendered content
EP3186784A4 (en) * 2014-08-26 2018-04-11 Honeywell International Inc. Annotating three-dimensional displays
US10127331B2 (en) * 2014-12-15 2018-11-13 The Boeing Company 3D models utilizing 3D markers to indicate engineering requirements
US9761029B2 (en) 2015-02-17 2017-09-12 Hewlett-Packard Development Company, L.P. Display three-dimensional object on browser
US10176520B2 (en) * 2015-07-07 2019-01-08 The Boeing Company Product visualization system
US20170091329A1 (en) * 2015-08-06 2017-03-30 3D Plus Limited Systems and methods for providing 3d search results
US10481645B2 (en) 2015-09-11 2019-11-19 Lucan Patent Holdco, LLC Secondary gesture input mechanism for touchscreen devices
US10719193B2 (en) * 2016-04-20 2020-07-21 Microsoft Technology Licensing, Llc Augmenting search with three-dimensional representations
KR20180051288A (en) * 2016-11-08 2018-05-16 삼성전자주식회사 Display apparatus and control method thereof
US20180357819A1 (en) * 2017-06-13 2018-12-13 Fotonation Limited Method for generating a set of annotated images

Citations (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815154A (en) * 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
US5926179A (en) * 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
US6253167B1 (en) * 1997-05-27 2001-06-26 Sony Corporation Client apparatus, image display controlling method, shared virtual space providing apparatus and method, and program providing medium
US6262734B1 (en) * 1997-01-24 2001-07-17 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6281900B1 (en) * 1997-12-05 2001-08-28 Sony Corporation Information processing apparatus and method, and providing medium
US20020027570A1 (en) * 2000-09-01 2002-03-07 Tetsuyuki Muto Scheme for posting advertisements on comprehensive information viewing device
US6377255B1 (en) * 1997-01-24 2002-04-23 Sony Corporation Pattern data generator, pattern data generating method and its medium
US6401237B1 (en) * 1997-01-24 2002-06-04 Sony Corporation Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US20020085041A1 (en) * 1997-01-24 2002-07-04 Masayuki Ishikawa Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6518989B1 (en) * 1997-01-24 2003-02-11 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6552721B1 (en) * 1997-01-24 2003-04-22 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US20030103064A1 (en) * 2001-11-09 2003-06-05 Knighton Mark S. Graphical interface for manipulation of 3D models
US20030120472A1 (en) * 2001-12-21 2003-06-26 Caterpillar Inc. Method and system for providing end-user visualization
US20040075697A1 (en) * 2002-10-16 2004-04-22 Maudlin Matthew Eric Apparatus, system, method, and program for using GIS data
US20040250236A1 (en) * 2003-04-30 2004-12-09 O'malley Austin Establishing and maintaining a relationship between a three-dimensional model and related data
US20050253840A1 (en) * 2004-05-11 2005-11-17 Kwon Ryan Y W Method and system for interactive three-dimensional item display
US20060036577A1 (en) * 2004-08-03 2006-02-16 Knighton Mark S Commercial shape search engine
US7376414B2 (en) * 2001-05-11 2008-05-20 Varia Mobil Llc Method and system for inserting advertisements into broadcast content
US20090030774A1 (en) * 2000-01-06 2009-01-29 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
US20090112800A1 (en) * 2007-10-26 2009-04-30 Athellina Rosina Ahmad Athsani System and method for visual contextual search
US20090109217A1 (en) * 2007-10-31 2009-04-30 Autodesk, Inc. Pre-Computing Image Manipulations
US20090150405A1 (en) * 2007-07-13 2009-06-11 Grouf Nicholas A Systems and Methods for Expressing Data Using a Media Markup Language
US20090237411A1 (en) * 2008-03-21 2009-09-24 Gossweiler Iii Richard C Lightweight Three-Dimensional Display
US20090276316A1 (en) * 2008-05-02 2009-11-05 Yahoo! Inc. Interactive advertisements in a sponsored search environment
US20090279784A1 (en) * 2008-05-07 2009-11-12 Microsoft Corporation Procedural authoring
US20090299857A1 (en) * 2005-10-25 2009-12-03 Brubaker Curtis M System and method for obtaining revenue through the display of hyper-relevant advertising on moving objects
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US20100191558A1 (en) * 2009-01-26 2010-07-29 Microsoft Corporation Linear-program formulation for optimizing inventory allocation
US20110137753A1 (en) * 2009-12-03 2011-06-09 Armin Moehrle Automated process for segmenting and classifying video objects and auctioning rights to interactive sharable video objects
US8082076B2 (en) * 2007-06-29 2011-12-20 Caterpillar Inc. Visual diagnostic system and subscription service
US20110313807A1 (en) * 2009-01-26 2011-12-22 Microsoft Corporation Dimensionality reduction for global advertisement inventory optimization
US20120123827A1 (en) * 2007-08-30 2012-05-17 Dooley Christopher P System and Method for an Electronic Gift Key
US20120162225A1 (en) * 2010-12-23 2012-06-28 Google Inc. View dependent techniques to determine user interest in a feature in a 3d application
US20120192115A1 (en) * 2010-07-27 2012-07-26 Telcordia Technologies, Inc. System and Method for Interactive Projection and Playback of Relevant Media Segments onto the Facets of Three-Dimensional Shapes
US20120259712A1 (en) * 2011-04-06 2012-10-11 Avaya Inc. Advertising in a virtual environment
US20120268463A1 (en) * 2009-11-24 2012-10-25 Ice Edge Business Solutions Securely sharing design renderings over a network
US20130041748A1 (en) * 2011-08-09 2013-02-14 Google Inc. Conversion type to conversion type funneling
US20130125029A1 (en) * 2011-11-15 2013-05-16 Trimble Navigation Limited Extensible web-based 3d modeling
US20130120368A1 (en) * 2011-11-15 2013-05-16 Trimble Navigation Limited Browser-Based Collaborative Development of a 3D Model
US20130144716A1 (en) * 2011-12-06 2013-06-06 Sony Network Entertainment International Llc Advertising opportunities for live streaming contents and services
US20130179698A1 (en) * 2012-01-06 2013-07-11 United Video Properties, Inc. Systems and methods for options relating to power-on of a user equipment device
US20130305287A1 (en) * 2012-05-14 2013-11-14 United Video Properties, Inc. Systems and methods for generating a user profile based customized media guide that includes an internet source
US8751950B2 (en) * 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US20140218360A1 (en) * 2011-09-21 2014-08-07 Dalux Aps Bim and display of 3d models on client devices
US20150161812A1 (en) * 2013-12-06 2015-06-11 Google Inc. Seamless Texturing of 3D Meshes of Objects from Multiple Views
US9247313B1 (en) * 2014-01-06 2016-01-26 Google Inc. Dynamic video ad format based on user bitrate and bandwidth
US20160078506A1 (en) * 2014-09-12 2016-03-17 Onu, Llc Configurable online 3d catalog
US20160086258A1 (en) * 2014-09-24 2016-03-24 Autodesk, Inc. Customizable three dimensional models
US20160092935A1 (en) * 2014-09-26 2016-03-31 Comcast Cable Communications, Llc Advertisements blended with user's digital content
US20160212455A1 (en) * 2013-09-25 2016-07-21 Intel Corporation Dynamic product placement in media content
US20160246899A1 (en) * 2015-02-25 2016-08-25 Onshape Inc. Multi-User Cloud Parametric Feature-Based 3D CAD System
US20160255139A1 (en) * 2016-03-12 2016-09-01 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s)
US9443026B2 (en) * 2010-12-28 2016-09-13 Yahoo! Inc. Method and system to utilize session queries in real time to improve geo precision of sponsored listings
US9519999B1 (en) * 2013-12-10 2016-12-13 Google Inc. Methods and systems for providing a preloader animation for image viewers
US20170173889A1 (en) * 2015-12-16 2017-06-22 Stratasys, Inc. User-dependent views of a shared print tray
US9772752B1 (en) * 2014-05-16 2017-09-26 Google Inc. Multi-dimensional online advertisements
US20170300214A1 (en) * 2016-04-19 2017-10-19 SAS Automation, LLC Three Dimensional Model Launch Tools And Methods Of Use
US20170316808A1 (en) * 2016-04-27 2017-11-02 Kungcheng WANG Playback system for video with replaceable commodities
US9827714B1 (en) * 2014-05-16 2017-11-28 Google Llc Method and system for 3-D printing of 3-D object models in interactive content items
US9886705B2 (en) * 2014-09-26 2018-02-06 Exaclibur Ip, Llc Advertisement opportunity bidding
US20180047213A1 (en) * 2015-03-20 2018-02-15 Korea Advanced Institute Of Science And Technology Method and apparatus for providing augmented reality-based dynamic service
US20180077209A1 (en) * 2016-09-09 2018-03-15 Kt Corporation Providing streaming of virtual reality contents
US9953009B1 (en) * 2014-12-19 2018-04-24 Google Llc Systems and methods for templated, configurable, responsive content items
US9971853B2 (en) * 2014-05-13 2018-05-15 Atheer, Inc. Method for replacing 3D objects in 2D environment
US20180165707A1 (en) * 2016-12-14 2018-06-14 Facebook, Inc. Methods and Systems for Adjusting Demographic and Interest Targeting Parameters for an Advertising Campaign
US10026104B2 (en) * 2013-06-18 2018-07-17 Excalibur Ip, Llc Method and system for automatically pausing advertisements based on user attention
US10032452B1 (en) * 2016-12-30 2018-07-24 Google Llc Multimodal transmission of packetized data
US20180224658A1 (en) * 2011-11-09 2018-08-09 Google Llc Measurement Method and System
US10049170B1 (en) * 2014-08-26 2018-08-14 Google Llc Methods and systems for selectively preventing third-party content from being displayed using undefined publisher identifier
US20180232781A1 (en) * 2015-08-10 2018-08-16 Je Hyung Kim Advertisement system and advertisement method using 3d model
US10067916B2 (en) * 2014-02-14 2018-09-04 Google Llc Methods and systems for providing an actionable object within a third-party content slot of an information resource of a content publisher
US10108988B2 (en) * 2005-12-30 2018-10-23 Google Llc Advertising with video ad creatives
US10157496B2 (en) * 2011-04-07 2018-12-18 Ebay Inc. Item model based on descriptor and images
US10169767B2 (en) * 2008-09-26 2019-01-01 International Business Machines Corporation Method and system of providing information during content breakpoints in a virtual universe
US10169406B2 (en) * 2013-07-22 2019-01-01 International Business Machines Corporation Managing sparsity in an multidimensional data structure
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
US20190108578A1 (en) * 2017-09-13 2019-04-11 Magical Technologies, Llc Systems and methods of rewards object spawning and augmented reality commerce platform supporting multiple seller entities
US20190121522A1 (en) * 2017-10-21 2019-04-25 EyeCam Inc. Adaptive graphic user interfacing system
US10284753B1 (en) * 2018-07-03 2019-05-07 Sony Corporation Virtual reality media content generation in multi-layer structure based on depth of field
US10325283B2 (en) * 2014-01-24 2019-06-18 Facebook, Inc. Pacing objectives of an advertising campaign throughout a duration of the advertising campaign
US20190187876A1 (en) * 2017-12-18 2019-06-20 Sony Interactive Entertainment America Llc Three dimensional digital content editing in virtual reality
US10332317B2 (en) * 2016-10-25 2019-06-25 Microsoft Technology Licensing, Llc Virtual reality and cross-device experiences
US10354294B2 (en) * 2013-08-28 2019-07-16 Google Llc Methods and systems for providing third-party content on a web page
US10402852B2 (en) * 2014-07-24 2019-09-03 Google Llc Content item slot location suggestions
US20190278458A1 (en) * 2018-03-08 2019-09-12 Ebay Inc. Online pluggable 3d platform for 3d representations of items
US10417661B2 (en) * 2010-06-23 2019-09-17 Google Llc Dynamic content aggregation
US10423674B1 (en) * 2015-12-30 2019-09-24 Google Llc Serving multiple content items responsive to a single request
US20190304406A1 (en) * 2016-12-05 2019-10-03 Case Western Reserve University Sytems, methods, and media for displaying interactive augmented reality presentations
US20200019295A1 (en) * 2018-07-15 2020-01-16 Magical Technologies, Llc Systems and Methods To Administer a Chat Session In An Augmented Reality Environment

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526478A (en) 1994-06-30 1996-06-11 Silicon Graphics, Inc. Three dimensional model with three dimensional pointers and multimedia functions linked to the pointers
GB9721664D0 (en) * 1997-10-14 1997-12-10 Philips Electronics Nv Data management within a virtual environment browser
WO2001055831A1 (en) * 2000-01-25 2001-08-02 Autodesk, Inc. Method and apparatus for providing access to and working with architectural drawings on the internet
US7009626B2 (en) * 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US6952207B1 (en) * 2002-03-11 2005-10-04 Microsoft Corporation Efficient scenery object rendering
JP2004005452A (en) 2002-04-16 2004-01-08 Sony Computer Entertainment Inc Image processor, image processing method, semiconductor device, computer program and record medium
US7262783B2 (en) 2004-03-03 2007-08-28 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
US7636096B2 (en) 2004-06-25 2009-12-22 Autodesk, Inc. Automatically ballooning an assembly drawing of a computer aided design
JP4407434B2 (en) 2004-08-31 2010-02-03 株式会社セガ Image processing apparatus, image processing method, and image processing program
WO2006041097A1 (en) * 2004-10-12 2006-04-20 Nippon Telegraph And Telephone Corporation 3d pointing method, 3d display control method, 3d pointing device, 3d display control device, 3d pointing program, and 3d display control program
US7557804B1 (en) * 2006-03-06 2009-07-07 Adobe Systems Inc. Methods and apparatus for three-dimensional isographic navigation
US8477154B2 (en) * 2006-03-20 2013-07-02 Siemens Energy, Inc. Method and system for interactive virtual inspection of modeled objects
US7474317B2 (en) 2006-05-18 2009-01-06 International Business Machines Corporation Method and apparatus for displaying overlapping markers
US7456848B2 (en) 2006-05-18 2008-11-25 International Business Machines Corporation Method for consolidating overlapping map markers
WO2007146967A2 (en) 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US9530142B2 (en) * 2007-02-13 2016-12-27 Claudia Juliana Minsky Method and system for creating a multifunctional collage useable for client/server communication
US20090027418A1 (en) * 2007-07-24 2009-01-29 Maru Nimit H Map-based interfaces for storing and locating information about geographical areas
CA2710431A1 (en) 2007-12-21 2009-07-09 Wikiatlas Corporation Contributor compensation system and method
CN102246121B (en) 2008-12-25 2016-01-13 松下知识产权经营株式会社 Information display device and method for information display
US20100185976A1 (en) * 2009-01-21 2010-07-22 Sairam Sadanandan Graphic user interface and a method thereof
US20110161875A1 (en) 2009-12-29 2011-06-30 Nokia Corporation Method and apparatus for decluttering a mapping display
KR101655812B1 (en) 2010-05-06 2016-09-08 엘지전자 주식회사 Mobile terminal and operation method thereof
KR101643869B1 (en) 2010-05-06 2016-07-29 엘지전자 주식회사 Operating a Mobile Termianl with a Vibration Module
KR101688155B1 (en) 2010-10-25 2016-12-20 엘지전자 주식회사 Information processing apparatus and method thereof
US20120194547A1 (en) 2011-01-31 2012-08-02 Nokia Corporation Method and apparatus for generating a perspective display
US8456467B1 (en) 2011-11-11 2013-06-04 Google Inc. Embeddable three-dimensional (3D) image viewer
US8416240B1 (en) 2012-04-02 2013-04-09 Google Inc. Determining 3D model information from stored images

Patent Citations (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815154A (en) * 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
US5926179A (en) * 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US6377255B1 (en) * 1997-01-24 2002-04-23 Sony Corporation Pattern data generator, pattern data generating method and its medium
US6518989B1 (en) * 1997-01-24 2003-02-11 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6262734B1 (en) * 1997-01-24 2001-07-17 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US20020085041A1 (en) * 1997-01-24 2002-07-04 Masayuki Ishikawa Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6401237B1 (en) * 1997-01-24 2002-06-04 Sony Corporation Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6552721B1 (en) * 1997-01-24 2003-04-22 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6253167B1 (en) * 1997-05-27 2001-06-26 Sony Corporation Client apparatus, image display controlling method, shared virtual space providing apparatus and method, and program providing medium
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
US6281900B1 (en) * 1997-12-05 2001-08-28 Sony Corporation Information processing apparatus and method, and providing medium
US20090030774A1 (en) * 2000-01-06 2009-01-29 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
US20020027570A1 (en) * 2000-09-01 2002-03-07 Tetsuyuki Muto Scheme for posting advertisements on comprehensive information viewing device
US7376414B2 (en) * 2001-05-11 2008-05-20 Varia Mobil Llc Method and system for inserting advertisements into broadcast content
US20030103064A1 (en) * 2001-11-09 2003-06-05 Knighton Mark S. Graphical interface for manipulation of 3D models
US20030120472A1 (en) * 2001-12-21 2003-06-26 Caterpillar Inc. Method and system for providing end-user visualization
US7171344B2 (en) * 2001-12-21 2007-01-30 Caterpillar Inc Method and system for providing end-user visualization
US20040075697A1 (en) * 2002-10-16 2004-04-22 Maudlin Matthew Eric Apparatus, system, method, and program for using GIS data
US20040250236A1 (en) * 2003-04-30 2004-12-09 O'malley Austin Establishing and maintaining a relationship between a three-dimensional model and related data
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US20050253840A1 (en) * 2004-05-11 2005-11-17 Kwon Ryan Y W Method and system for interactive three-dimensional item display
US20060036577A1 (en) * 2004-08-03 2006-02-16 Knighton Mark S Commercial shape search engine
US9536340B2 (en) * 2004-08-17 2017-01-03 Dirtt Environmental Solutions, Ltd. Software incorporating efficient 3-D rendering
US8751950B2 (en) * 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US20090299857A1 (en) * 2005-10-25 2009-12-03 Brubaker Curtis M System and method for obtaining revenue through the display of hyper-relevant advertising on moving objects
US10108988B2 (en) * 2005-12-30 2018-10-23 Google Llc Advertising with video ad creatives
US8082076B2 (en) * 2007-06-29 2011-12-20 Caterpillar Inc. Visual diagnostic system and subscription service
US20090150405A1 (en) * 2007-07-13 2009-06-11 Grouf Nicholas A Systems and Methods for Expressing Data Using a Media Markup Language
US20120123827A1 (en) * 2007-08-30 2012-05-17 Dooley Christopher P System and Method for an Electronic Gift Key
US20090112800A1 (en) * 2007-10-26 2009-04-30 Athellina Rosina Ahmad Athsani System and method for visual contextual search
US20090109217A1 (en) * 2007-10-31 2009-04-30 Autodesk, Inc. Pre-Computing Image Manipulations
US20090237411A1 (en) * 2008-03-21 2009-09-24 Gossweiler Iii Richard C Lightweight Three-Dimensional Display
US20090276316A1 (en) * 2008-05-02 2009-11-05 Yahoo! Inc. Interactive advertisements in a sponsored search environment
US20090279784A1 (en) * 2008-05-07 2009-11-12 Microsoft Corporation Procedural authoring
US10169767B2 (en) * 2008-09-26 2019-01-01 International Business Machines Corporation Method and system of providing information during content breakpoints in a virtual universe
US20110313807A1 (en) * 2009-01-26 2011-12-22 Microsoft Corporation Dimensionality reduction for global advertisement inventory optimization
US20100191558A1 (en) * 2009-01-26 2010-07-29 Microsoft Corporation Linear-program formulation for optimizing inventory allocation
US20120268463A1 (en) * 2009-11-24 2012-10-25 Ice Edge Business Solutions Securely sharing design renderings over a network
US20110137753A1 (en) * 2009-12-03 2011-06-09 Armin Moehrle Automated process for segmenting and classifying video objects and auctioning rights to interactive sharable video objects
US10417661B2 (en) * 2010-06-23 2019-09-17 Google Llc Dynamic content aggregation
US20120192115A1 (en) * 2010-07-27 2012-07-26 Telcordia Technologies, Inc. System and Method for Interactive Projection and Playback of Relevant Media Segments onto the Facets of Three-Dimensional Shapes
US20120162225A1 (en) * 2010-12-23 2012-06-28 Google Inc. View dependent techniques to determine user interest in a feature in a 3d application
US9443026B2 (en) * 2010-12-28 2016-09-13 Yahoo! Inc. Method and system to utilize session queries in real time to improve geo precision of sponsored listings
US20120259712A1 (en) * 2011-04-06 2012-10-11 Avaya Inc. Advertising in a virtual environment
US10157496B2 (en) * 2011-04-07 2018-12-18 Ebay Inc. Item model based on descriptor and images
US20130041748A1 (en) * 2011-08-09 2013-02-14 Google Inc. Conversion type to conversion type funneling
US20140218360A1 (en) * 2011-09-21 2014-08-07 Dalux Aps Bim and display of 3d models on client devices
US20180224658A1 (en) * 2011-11-09 2018-08-09 Google Llc Measurement Method and System
US20130125029A1 (en) * 2011-11-15 2013-05-16 Trimble Navigation Limited Extensible web-based 3d modeling
US9256453B2 (en) * 2011-11-15 2016-02-09 Trimble Navigation Limited Extensible web-based 3D modeling
US20130120368A1 (en) * 2011-11-15 2013-05-16 Trimble Navigation Limited Browser-Based Collaborative Development of a 3D Model
US20130144716A1 (en) * 2011-12-06 2013-06-06 Sony Network Entertainment International Llc Advertising opportunities for live streaming contents and services
US20130179698A1 (en) * 2012-01-06 2013-07-11 United Video Properties, Inc. Systems and methods for options relating to power-on of a user equipment device
US20130305287A1 (en) * 2012-05-14 2013-11-14 United Video Properties, Inc. Systems and methods for generating a user profile based customized media guide that includes an internet source
US10026104B2 (en) * 2013-06-18 2018-07-17 Excalibur Ip, Llc Method and system for automatically pausing advertisements based on user attention
US10169406B2 (en) * 2013-07-22 2019-01-01 International Business Machines Corporation Managing sparsity in an multidimensional data structure
US10354294B2 (en) * 2013-08-28 2019-07-16 Google Llc Methods and systems for providing third-party content on a web page
US20160212455A1 (en) * 2013-09-25 2016-07-21 Intel Corporation Dynamic product placement in media content
US20150161812A1 (en) * 2013-12-06 2015-06-11 Google Inc. Seamless Texturing of 3D Meshes of Objects from Multiple Views
US9519999B1 (en) * 2013-12-10 2016-12-13 Google Inc. Methods and systems for providing a preloader animation for image viewers
US9247313B1 (en) * 2014-01-06 2016-01-26 Google Inc. Dynamic video ad format based on user bitrate and bandwidth
US10325283B2 (en) * 2014-01-24 2019-06-18 Facebook, Inc. Pacing objectives of an advertising campaign throughout a duration of the advertising campaign
US10067916B2 (en) * 2014-02-14 2018-09-04 Google Llc Methods and systems for providing an actionable object within a third-party content slot of an information resource of a content publisher
US9971853B2 (en) * 2014-05-13 2018-05-15 Atheer, Inc. Method for replacing 3D objects in 2D environment
US9827714B1 (en) * 2014-05-16 2017-11-28 Google Llc Method and system for 3-D printing of 3-D object models in interactive content items
US9772752B1 (en) * 2014-05-16 2017-09-26 Google Inc. Multi-dimensional online advertisements
US10402852B2 (en) * 2014-07-24 2019-09-03 Google Llc Content item slot location suggestions
US10049170B1 (en) * 2014-08-26 2018-08-14 Google Llc Methods and systems for selectively preventing third-party content from being displayed using undefined publisher identifier
US20160078506A1 (en) * 2014-09-12 2016-03-17 Onu, Llc Configurable online 3d catalog
US10019742B2 (en) * 2014-09-12 2018-07-10 Onu, Llc Configurable online 3D catalog
US20160086258A1 (en) * 2014-09-24 2016-03-24 Autodesk, Inc. Customizable three dimensional models
US20160092935A1 (en) * 2014-09-26 2016-03-31 Comcast Cable Communications, Llc Advertisements blended with user's digital content
US9886705B2 (en) * 2014-09-26 2018-02-06 Exaclibur Ip, Llc Advertisement opportunity bidding
US9953009B1 (en) * 2014-12-19 2018-04-24 Google Llc Systems and methods for templated, configurable, responsive content items
US20160246899A1 (en) * 2015-02-25 2016-08-25 Onshape Inc. Multi-User Cloud Parametric Feature-Based 3D CAD System
US20180047213A1 (en) * 2015-03-20 2018-02-15 Korea Advanced Institute Of Science And Technology Method and apparatus for providing augmented reality-based dynamic service
US20180232781A1 (en) * 2015-08-10 2018-08-16 Je Hyung Kim Advertisement system and advertisement method using 3d model
US20170173889A1 (en) * 2015-12-16 2017-06-22 Stratasys, Inc. User-dependent views of a shared print tray
US10423674B1 (en) * 2015-12-30 2019-09-24 Google Llc Serving multiple content items responsive to a single request
US20160255139A1 (en) * 2016-03-12 2016-09-01 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s)
US20170300214A1 (en) * 2016-04-19 2017-10-19 SAS Automation, LLC Three Dimensional Model Launch Tools And Methods Of Use
US20170316808A1 (en) * 2016-04-27 2017-11-02 Kungcheng WANG Playback system for video with replaceable commodities
US20180077209A1 (en) * 2016-09-09 2018-03-15 Kt Corporation Providing streaming of virtual reality contents
US10332317B2 (en) * 2016-10-25 2019-06-25 Microsoft Technology Licensing, Llc Virtual reality and cross-device experiences
US20190304406A1 (en) * 2016-12-05 2019-10-03 Case Western Reserve University Sytems, methods, and media for displaying interactive augmented reality presentations
US20180165707A1 (en) * 2016-12-14 2018-06-14 Facebook, Inc. Methods and Systems for Adjusting Demographic and Interest Targeting Parameters for an Advertising Campaign
US10032452B1 (en) * 2016-12-30 2018-07-24 Google Llc Multimodal transmission of packetized data
US20190108578A1 (en) * 2017-09-13 2019-04-11 Magical Technologies, Llc Systems and methods of rewards object spawning and augmented reality commerce platform supporting multiple seller entities
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
US20190121522A1 (en) * 2017-10-21 2019-04-25 EyeCam Inc. Adaptive graphic user interfacing system
US20190187876A1 (en) * 2017-12-18 2019-06-20 Sony Interactive Entertainment America Llc Three dimensional digital content editing in virtual reality
US20190278458A1 (en) * 2018-03-08 2019-09-12 Ebay Inc. Online pluggable 3d platform for 3d representations of items
US10284753B1 (en) * 2018-07-03 2019-05-07 Sony Corporation Virtual reality media content generation in multi-layer structure based on depth of field
US20200019295A1 (en) * 2018-07-15 2020-01-16 Magical Technologies, Llc Systems and Methods To Administer a Chat Session In An Augmented Reality Environment

Also Published As

Publication number Publication date
US8860717B1 (en) 2014-10-14
US8314790B1 (en) 2012-11-20

Similar Documents

Publication Publication Date Title
US10139985B2 (en) Defining, displaying and interacting with tags in a three-dimensional model
US20190371026A1 (en) Interactive data object map
US20180108164A1 (en) Manipulating graphical objects
US10795958B2 (en) Intelligent distributed geographic information system
US10346013B2 (en) Manipulating graphical objects
US20160139780A1 (en) Website image carousel generation
TWI545536B (en) Rotation operations in a mapping application
US20160125051A1 (en) System and method for dynamically retrieving data specific to a region of a layer
Rakkolainen et al. A 3D city info for mobile users
US8614706B2 (en) Lightweight three-dimensional display
US10127327B2 (en) Cloud-based image processing web service
JP6192538B2 (en) Method, computer program, persistent computer readable medium, apparatus and system for user interface
US10540423B2 (en) Dynamic content mapping
Moscovich et al. Topology-aware navigation in large networks
US10162475B2 (en) Interactive menu elements in a virtual three-dimensional space
US9063757B2 (en) Interactive application assistance, such as for web applications
AU2012200152B2 (en) Image management and presentation
AU2010286753B2 (en) Visual search and three-dimensional results
RU2637415C2 (en) Alternative semantics for scaling operations in scale scene
US9928311B2 (en) Navigation for large scale graphs
US7917868B2 (en) Three-dimensional motion graphic user interface and method and apparatus for providing the same
US9043150B2 (en) Routing applications for navigation
CN105389407B (en) Integrated visualization and analysis of complex systems
Jankowski et al. Advances in interaction with 3D environments
US20170336942A1 (en) System and Method for Providing Three-Dimensional Graphical User Interface

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STCB Information on status: application discontinuation

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION