By interacting with a set-top-box (STB), a user may select channels or programs on a television that is connected to the STB, adjust display characteristics of the television, and/or perform other interactive functions related to viewing multimedia content. A remote control may be used to transmit signals that represent key depressions/input selections to the STB via infrared light, for example.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. As used herein, the term “virtual market” may refer to a software implementation and/or emulation of a market.
Hallway 102 is populated with virtual products 106, analogous to “impulse-buy” products that line checkout aisles at a grocery store. The user can stop and examine a product, obtain specifications, and even purchase the product while the user is in hallway 102. Furthermore, the user may be allowed to “hang out” in hallway 106 for as long as the user likes. When the user decides to resume the video program, the user may simply walk to the end of virtual hallway 102 and return to the video program.
Controller 202 may include a device for receiving commands from remote control 204, receiving content over network 210, and/or playing the content on content presentation device 208. In some implementations, the content may be obtained from a content distribution system (e.g., a video/audio broadcast system) (not shown) via content-on-demand service.
In addition to playing content on content presentation device 208, for example, controller 202 may display a virtual market to a user and/or interact with the user via the virtual market displayed on content presentation device 208. By using remote control 204 and/or sensory feedback device 206, the user may move about in the virtual market, view products, manipulate the products (e.g., grab an item in the virtual market), and/or purchase the products. In some implementations, when the user purchases an item, controller 202 may place an order at provisioning system 216 over network 210.
Examples of controller 202 may include a set-top box or a component (e.g., a cable card) that plugs-into a host device (e.g., a digital video recorder, a personal computer, a television, stereo system, etc.) and allows the host device to display multimedia content (e.g., contents on digital cable television channels). Although controller 202 can be implemented as different types of devices (e.g., a set-top-box, computer, digital video disk (DVD) player, cable card, etc.), in the following, controller 202 is described in terms of a set-top box.
Remote control 204 may include a device for issuing wireless commands to and for controlling electronic devices (e.g., a television, set-top box, stereo system, digital video disc (DVD) player, etc.). In one situation, remote control 204 may be used to switch channels or obtain content-on-demand (e.g., video-on-demand) programs. In different implementations, in place of remote control 204, other types of devices (e.g., a wireless keyboard, mouse, handheld device (e.g., cell phone), etc.) may be used to control the electronic devices.
Sensory feedback device 206 may include one or more devices (e.g., electronic garment) for communicating motor/sensory data between controller 202 and the user. For example, assume that sensory feedback device 206 is a pair of electronic gloves. When the user wears the electronic gloves, the electronic gloves may transmit relative coordinates of the user's fingers and/or hands to controller 202.
Depending on the locations of the user's fingers and/or hands, controller 202 may send data/instructions that indicate how much pressure, heat, and/or other type of tactile sensation to provide to the user's hands. For example, assume that the location of the user's hand corresponds to a virtual hand that is holding a virtual vase. In such an instance, based on the instruction/data from controller 202, the electronic glove may provide the user with a sensation of holding a vase. In another example, the user may apply force against pressure sensors attached to the electronic gloves. The electronic gloves may send data that describes the force to controller 202. Controller 202 may use the information to manipulate the virtual hands (e.g., have the virtual hands hold the virtual vase).
Content presentation device 208 may include a device for playing media signals and/or signals from controller 202. Examples of content presentation device 208 may include a television, one or more speakers and a display, a portable digital assistant (PDA) or a cell phone capable of displaying a received video, etc. In the following paragraphs, content presentation device 208 is described in terms of a television.
Network 210 may include a fiber-optics network (e.g., passive optical networks (PONS)), an ad hoc network, a local area network (LAN), a wide area network (WAN), a wireless LAN, a metropolitan area network (MAN), a cellular network, a public switched telephone network (PSTN), an intranet, the Internet, a satellite-based network, any other network, or a combination of networks. Devices (e.g., controller 202, content server device 214, etc.) that are shown in
Content server device 212 may include one or more devices for providing content and/or for providing data or program that describes a virtual market. The content, data, and/or program may be sent to controller 202 and/or content presentation device 208. For example, content server device 212 may provide video-on-demand (VOD), television programs, etc. to controller 202.
Content storage device 214 may include a database of units of content (e.g., a movie, a piece of music, a video clip, etc.). Based on a user request, content server device 212 may retrieve a particular unit of content from content storage device 214. In addition, content storage device 214 may also include programs and/or data that describe virtual markets. Content server device 212 may retrieve one or more virtual market programs or sets of virtual market data from content storage device 214 when controller 202 requests a specific video, either scheduled or on-demand video.
Provisioning system 216 may receive an order for a product/service from controller 202 and/or process the order. For example, provisioning system 216 may receive an order for a cellular phone, charge a credit card, and cause the phone to be shipped to an address. In some implementations, system 216 may provide a web interface to those who wish track order filling or problem resolution (e.g., product unavailability).
Processor 302 may include a processor, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other processing logic capable of controlling network device 300. Memory 304 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions. Memory 304 may also include storage devices, such as a floppy disk, CD ROM, CD read/write (R/W) disc, and/or flash memory, as well as other types of storage devices.
Input/output components 306 may include a display screen, a keyboard, a mouse, a speaker, a microphone, a Digital Video Disk (DVD) writer, a DVD reader, Universal Serial Bus (USB) lines, and/or other types of components for converting physical events or phenomena to and/or from digital signals that pertain to network device 300.
Network interface 308 may include any transceiver-like mechanism that enables network device 300 to communicate with other devices and/or systems. For example, network interface 308 may include mechanisms for communicating via a network, such as the Internet, a terrestrial wireless network (e.g., a WLAN), a satellite-based network, etc. Additionally or alternatively, network interface 308 may include a modem, an Ethernet interface to a LAN, and/or an interface/connection for connecting network device 300 to other devices (e.g., a Bluetooth interface).
Communication path 310 may provide an interface through which components of network device 300 can communicate with one another.
Content client 402 may include hardware and/or software for outputting multimedia content/data that is received from a content distribution system (not shown), for example, to content presentation device 208. Content client 402 may receive audio/video data, and, based on the received audio/video data, may generate audio/video signals for content presentation device 208. Content client 402 may be implemented as a stand-alone application or as part of another component, such as a browser (not shown).
Virtual market logic 404 may include hardware and/or software for emulating a virtual market. In some implementations, virtual market logic 404 may be downloaded as a software component from content server device 212. In other implementations, virtual market logic 404 may be installed on controller 202 and may emulate different virtual markets based on data that controller 202 receives from content server device 212.
To emulate a virtual market, virtual market logic 404 may construct or represent a 3-dimensional model of the market in memory (e.g., memory 304). Virtual market logic 404 may display relatively continuous views of the virtual market as would be seen by a virtual user (e.g., a representation of the user in the virtual market) as the virtual user travels through the virtual market.
For example, assume that a virtual market is a portion of a town. In such a case, the market may include stores that line the streets of the town. Each store may include shelves, carts or boxes, tables, etc., that are stocked/filled with goods.
Basket store 502, produce store 504, and clothing store 506 may include baskets 508, produce 510, and clothes 512 shown as being worn by a mannequin, respectively. As the user visits each store via a virtual user, the virtual user may interact with (e.g., touch, view, and/or manipulate) products/goods in the store. For example, when the user visits basket store 502, the user may pick up a virtual basket, view the virtual basket from different angles, open the virtual basket, view inside of the virtual basket, and/or initiate an on-line purchase of a basket that corresponds to the virtual basket. In another example, the user may pick up a virtual digital video disk (DVD) in a virtual movie rental store and play a preview/clip. In some implementations, the user may interact with the products/goods via sensory feedback device 206.
Content database 602 may include units of content, such as a movie, video clip, episode of television show, piece of commercial, song, audio clip, etc. Virtual market database 604 may include models of different types of virtual markets, such as a plaza, a building, a town, a single store, etc.
Content-market association database 606 may include table entries that associate each unit of content in content database 602 or a scheduled program with a particular virtual market in virtual market database 604. For example, assume that a James Bond movie is in content database 602, and a virtual gadget store that includes items shown in the James Bond movie is in a gadget market in virtual market database 604. In such an instance, content-market association database 606 may include an association between the James Bond movie and the gadget market. In some implementations, the table entries may include additional information, such as time when the user may enter the virtual market, a possible display locations at which the user can activate (e.g., via use of remote control) to enter the virtual market, etc., image or an icon that may be shown on the display location for activating the virtual market.
Depending on the implementation, content server device 212 or content storage device 214 may identify data or a program that describes or defines a virtual market associated with the unit of content (block 704). Herein, data may be said to “define” or “describe” a virtual market if a software program or device can use the data to create and emulate the virtual market. Similarly, a program may be said to “define” or “describe” a virtual market if the program, when executed, creates and/or emulates the virtual market.
Content server device 212 and/or content storage device 214 may identify the data/program by performing a search in content-market association database 606. In some implementations, more than one virtual market may be associated with the content, and, therefore, content server device 212/content storage device 214 may identify more than one set of data or programs.
Content server device 212 and/or content storage device 214 may send the unit of content and/or the identified data or programs to controller 202 (block 706). Depending on the implementation, content server device 212 and/or content storage device 214 may stagger the transmission of content and identified data/programs in time to avoid excessive delays in playing the content or to optimize the network bandwidth.
After controller 202 receives the content and/or the program, controller 202 may store (e.g., buffer) and/or play the content. While controller 202 is playing the content, e.g., when controller 202 reaches a point where a commercial is to be presented to the user, controller 202 may provide the user with an option to enter a virtual market (block 708). In a different implementation, controller 202 may present a view of the virtual market and provide the user with an option to exit the market. In one embodiment, the user must travel through the virtual market before resumption of the content.
When the user enters the market, controller 202 or content presentation device 208 may interact with the user (block 710). In interacting with the user, controller 202/content presentation device 208 may create a virtual market in memory (e.g., memory 304) based on the received data or program, and provide a view of the virtual market. The user may provide input to controller 202 or content presentation device 208 via remote control 204, sensory feedback device 206, and/or other types of input/output components 306. As described above, the user may roam about the market, visit a store, examine a virtual product, manipulate the virtual product, and/or purchase the product.
When the user indicates that the user wishes to exit the virtual market, controller 202/content presentation device 208 may terminate the presentation of the virtual market. If the user has been viewing/listening the content prior to interacting with the virtual market, controller 202 may start playing the content at the point where the user stopped viewing/listening.
The above paragraphs describe system elements and processes that are related to devices and/or components for providing virtual markets. The following example, with reference to
In
Set-top box 802 displays, on television 808, a virtual hallway that is lined with stores and has a doorway at the end. Once placed inside the virtual hallway, John decides to shop for a Valentine's Day gift to Frances, his girlfriend, and, by using remote control 804 and enters a shoe store called Shoe Rack. Consequently, set-top box 802 shows a view of Shoe Rack. Inside the store, John notices a pair of virtual shoes that was shown in The Valentine. A couple of days prior, when John and Frances watched the movie together, Frances admired the shoes.
John decides to purchase shoes 902, and, by using remote control 804, activates PURCHASE button 906. Set-top box 802 then shows John an on-line purchase order form. John orders the pair of shoes, and the order is processed by provisioning system 216. After John orders the shoes, set-top box 802 returns John to the virtual hallway. John exits the market via the door at the end of the virtual hallway, and set-top box 802 continues to play The Valentine.
A few days later, John receives a shipment of shoes. Frances is overjoyed to receive the shoes shown in The Valentine as a gift.
In the above example, a user may view and/or play a unit of content. During a timeslot for a commercial, for example, the user is presented with an opportunity to visit a virtual market. In the virtual market, the user may examine, manipulate, and/or purchase a specific product.
The foregoing description of implementations provides illustration, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the teachings.
For example, in one implementation, in place of controller 202, a network server device, may emulate a virtual market. In such implementations, the user may interact with other virtual entities (e.g., a salesperson, other users, etc.) that are at the virtual market. In another implementation, at specified times while playing the content, an icon or an image may be shown on an area of the display to provide the user with an opportunity to activate the icon or the image. When the user activates the icon or the image, controller 202 may suspend playing the content and begin emulating the virtual market. In such an implementation, depending on the specific icon/image that the user activates, the user may be presented with a specific virtual market. For example, assume that the user activates an icon that is located just above James Bond's watch during in a scene of a Bond movie. Accordingly, controller 202 may begin emulating a watch store. In another example, the user may enter an actual store that is shown in the movie (e.g., a car dealer).
In addition, while series of blocks have been described with regard to an exemplary process illustrated in
It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
Further, certain portions of the implementations have been described as “logic” that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the invention. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification.
No element, act, or instruction used in the present application should be construed as critical or essential to the implementations described herein unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.