Various embodiments may be generally directed to an electronic program guide for a media system. In particular, various embodiments are directed to a dynamic scaling technique for managing the relationship between a program and its associated metadata. The dynamic scaling technique creates an electronic program guide in the form of a dynamic scaling grid. Each content cell in the dynamic scaling grid is scalable and may grow to accommodate its own metadata while in focus. Examples of metadata may include thumbnails, titles, synopsis, genre, keywords, related material, credit lists, actors, ratings information, hyperlinks, and any other desired information. In edge case scenarios where the cell hosting a program item is originally too narrow, it is stretched in both the vertical axis and horizontal axis thus accommodating the relevant information. The dynamic scaling technique also facilitates the content cell to grow and contain content provider information including branding and promotional elements. Further, an entire row and/or column having an expanded content cell may also grow in a manner similar to the content cell. Growth of the entire row and/or column provides additional opportunities to display other metadata, such as branding and promotional information, for example. In this manner, a user may navigate through the electronic program guide and more closely examine program items of interest while maintaining a desired display resolution and display area for the other program items in the dynamic scaling grid.
Implementing an electronic program guide using a dynamic scaling grid provides several advantages over conventional techniques. For example, designing a useable and aesthetically pleasing guide interface for limited (e.g. approximately 10 feet) viewing and interaction is a challenge across the entertainment industry. Programming content, associated metadata and related branding content all vie for the same space. A dynamic scaling grid allows all of this information to be prioritized and emphasized based on the viewer's focus so that the in-focus experience is optimized for richness and the out-of-focus experience is optimized for browsing (e.g., multiple smaller pieces of metadata) displayed in position within the context of the grid while remaining legible and preserving a given set of design goals. In another example, network providers and users both benefit from the balance struck between information density and ease of use. This is a balance not found in conventional electronic program guides. The user experience design creates for a more compelling platform which partners will want to harness, providers will want to leverage, and users will want to enjoy. The dynamic scaling grid provides flexibility to integrate varying amounts of metadata for current design goals as well as future enhancements and improvements.
In various embodiments, media system 100 may be arranged to communicate, manage or process different types of information, such as media information and control information. Examples of media information may generally include any data representing content meant for a user, such as voice information, video information, audio information, image information, textual information, numerical information, alphanumeric symbols, graphics, and so forth. Control information may refer to any data representing commands, instructions or control words meant for an automated system. For example, control information may be used to route media information through a system, to establish a connection between devices, instruct a device to process the media information in a predetermined manner, and so forth.
In various embodiments, media system 100 may include media sources 102-1-n. Media sources 102-1-n may comprise any physical or logical entity capable of sourcing or delivering media information (e.g., digital video signals, audio signals, and so forth) and/or control information to media processing device 106. Examples of media sources 102-1-n may include a DVD device, a VHS device, a digital VHS device, a personal video recorder (PVR), a digital video recorder (DVR), a computer, a gaming console, a CD player, a digital camera, a digital camcorder, and so forth. Other examples of media sources 102-1-n may include media distribution systems to provide broadcast or streaming analog or digital media information to media processing device 106. Examples of media distribution systems may include, for example, over the air (OTA) broadcast systems, terrestrial cable systems (CATV), satellite broadcast systems, media delivered over a network such as the Internet, and so forth. Media sources 102-1-n may be internal or external to media processing device 106 as desired for a given implementation.
In various embodiments, media system 100 may comprise a media processing device 106 to connect to one or more media sources 102-1-n over one or more communications media 104-1-m. Media processing device 106 may comprise any logical or physical entity that is arranged to process media information received from media sources 102-1-n. In various embodiments, media processing device 106 may comprise, or be implemented as, a computer, a set top box (STB), a media server, a desktop computer, a personal computer (PC), a laptop computer, a handheld computer, a home entertainment system, a home theater system, and so forth.
In various embodiments, media processing device 106 may include a media processing sub-system 108. Media processing sub-system 108 may comprise a processor, memory, and application hardware and/or software arranged to process media information received from media sources 102-1-n. For example, media processing sub-system 108 may be arranged to perform various media management operations, such as receiving media information, storing media information, recording media information, playing media information, performing trick mode operations for media information, performing seek operations for media information, and so forth. Media processing sub-system 108 may output processed media information to a display 110. Display 110 may be any display capable of displaying media information received from media sources 102-1-n.
Media processing device 106 may also have additional features and/or functionality beyond configuration 106. For example, media processing device 106 may include removable storage 210 and non-removable storage 212, which may also comprise various types of machine-readable or computer-readable media as previously described. Media processing device 106 may also have one or more input devices 214 such as a keyboard, mouse, pen, voice input device, touch input device, remote control, wireless mouse, air mouse, and so forth. One or more output devices 216 such as a display (e.g., display 110), speakers, printer, and so forth may also be included in media processing device 106 as well.
Media processing device 106 may further include one or more communications connections 218 that allow media processing device 106 to communicate with other devices. Communications connections 218 may include various types of standard communication elements, such as one or more communications interfaces, network interfaces, network interface cards (NIC), radios, wireless transmitters/receivers (transceivers), wired and/or wireless communication media, physical connectors, and so forth. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired communications media and wireless communications media. Examples of wired communications media may include a wire, cable, metal leads, printed circuit boards (PCB), backplanes, switch fabrics, semiconductor material, twisted-pair wire, co-axial cable, fiber optics, a propagated signal, and so forth. Examples of wireless communications media may include acoustic, radio-frequency (RF) spectrum, infrared and other wireless media. The terms machine-readable media and computer-readable media as used herein are meant to include both storage media and communications media.
In one embodiment, media processing device 106 may store EPGMM 208 and accompanying data in system memory 204. EPGMM 208 may be arranged to manage a dynamic scaling grid on display 110. The dynamic scaling grid may comprise multiple content cells in a grid formation. Each content cell may host a program item and display a first set of metadata associated with the program item. When a content cell is selected by a use, EPGMM 208 may expand the selected content cell in order to display a second set of associated metadata for the program item hosted by the selected content cell. EPGMM 208 may adjust the size of surrounding or adjacent content cells to accommodate the new size of the expanded content cell.
In various embodiments, a content cell for a dynamic scaling grid may comprise an area having defined borders, similar to a cell in a spreadsheet application, for example. Each content cell may be assigned to host an item and associated metadata. An item may represent any abstract entity or set of information, such as a program, a channel, a station, a time, or any other type of media content or information. Examples of a program item may include a particular program, such as a television show “Lost,” “Invasion,” “NCIS,” and so forth. Examples of a channel item may include a particular channel used by a television tuner or a channel of internet content, such as channels 2, 3, 4, 5 and so forth. Examples of a station item may include a particular station assigned to a channel, such as ABC, NBC, CBS, FOX, and so forth. It may be appreciated that these are merely a few examples of an item, and any number of items may be used by the dynamic scaling grid as desired for a given implementation.
One or more content cells may be defined based on the type of information displayed by the content cell. In one embodiment, for example, there may be at least two types of content cells. A first content cell type may comprise a channel content cell having channel items and associated metadata. A second content cell type may comprise a program content cell having program items and associated metadata. Other content cell types may be defined for other items as desired for a given implementation.
In various embodiments, each item may have a set of metadata associated with the item. Metadata may refer to data that describes other data. Generally, a set of metadata describe a single set of data, called a resource or item. As used herein, metadata may refer to data that describes an item. The metadata may be any type of information associated with a given item. Examples of metadata may include, but are not limited to, such data as thumbnails, titles, program titles, episode titles, program synopsis, episode synopsis, genre, keywords, related material, credit lists, actors, ratings information, hyperlinks, portals, images, logos, animations, video clips, audio clips, promotional material, advertisements, and so forth. The embodiments are not limited in this context.
In various embodiments, EPGMM 208 may expand and contract the size of a content cell to accommodate changes in metadata in a number of different ways. Each content cell may have a height dimension and a width dimension. For example, each content cell may have a height along a vertical or x-axis, and a width along a horizontal or y-axis. EPGMM 208 may expand a given content cell by modifying its height, width, or in some cases both height and width. The amount of expansion or contraction may be proportional to the amount of metadata to be displayed by the content cell. For example, EPGMM 208 may expand a content cell based on an amount of information included within the second set of metadata. The expansion and contraction may also depend on other factors as well, like the amount of cell visible in the current view of the grid, which may vary based on duration of show, start and end time of program versus displayed time span in the view, and so forth. In addition to modifying a cell size, EPGMM 208 may adjust a font size for one or more content cells, such as by increasing font size in an expanded content cell or decreasing font size in a contracted content cell, or vice-versa.
In various embodiments, EPGMM 208 may modify cell sizes for the dynamic scaling grid based on a selected content cell. The dynamic scaling grid may be navigated or traversed in response to user commands. For example, a user may use a remote control, keyboard, air mouse, touch screen, or other desired HID to control a pointer, cursor, or focus point on display 110. The user may cause, for example, a pointer to scroll through various content cells to select a content cell of interest. Although various embodiments may be described using a pointer or cursor by way of example, other techniques may be used to focus on the various elements of the screen. In some embodiments, for example, some of these control devices may not require the use of a pointer or cursor, but rather use other techniques to move the focus on the various elements of the screen, which is just a different user interface treatment of the element itself. As a result, some embodiments may not use a pointer or cursor. In some cases, the focus element and the pointer may be in two different locations on the screen. For example, a pointer is not over a selectable element of the user interface, and so the focus may be on the last element the pointer traversed. It may be appreciated that various techniques may be used to traverse the dynamic scaling grid to focus on a particular content cell of interest, and the embodiments are not limited in this context.
In one embodiment, for example, a user may cause the pointer to scroll through various content cells to select a content cell of interest. EPGMM 208 may then modify a cell size for the selected content cell. Selecting a content cell may be passively performed by merely rolling across or traversing a content cell with the pointer. In this case, EPGMM 208 may modify cell sizes based on a current position for the pointer. Alternatively, selecting a content cell may also be actively performed by stopping the pointer on a desired content cell and sending a user select command via a button, wheel or other input device. The embodiments are not limited in this context.
In various embodiments, some of the content cells within the dynamic scaling grid may host a program item and display a first set of metadata associated with the program item. As shown in image 300, the dynamic scaling grid may include multiple program content cells. Each program content cell may display a set of metadata associated with a program item hosted by the program content cell. When in an unselected or default mode, each program content cell typically displays a first set of metadata. As shown in image 300, the first set of metadata may comprise, for example, a program title, such as “Joey,” “Dr. Phil,” “The Apprentice,” and so forth.
When a content cell is selected, however, EPGMM 208 may enlarge or expand the selected cell to accommodate a second set of metadata. Typically the second set of metadata comprises a larger set of metadata than the first set of metadata. Referring again to image 300, a selected program content cell may be identified by an enhanced or bolded border around the selected program content cell. When selected, EPGMM 208 may display more metadata about the program item hosted by the selected program content cell. In image 300, the selected program content cell hosts the program item “Lost.” When selected, EPGMM 208 expands the program content cell for “Lost” to accommodate more metadata about the program “Lost,” such as an episode title “The Long Con,” an episode synopsis, and a time range “9:00 PM-10:00 PM.” In this manner, a user may obtain more detailed information about a program item of interest while remaining at a relatively same position within the dynamic scaling grid.
When a size for a selected content cell has been expanded, cell sizes for various content cells within the dynamic scaling grid may also be modified as well. For example, when a selected program content cell is expanded in a vertical direction, some or all of the content cells within the same row as the selected program content cell may be expanded as well. In another example, when a selected program content cell is expanded in a horizontal direction, some or all of the content cells within the same column as the selected program content cell may be expanded as well. In some cases, the content cells surrounding the expanded program content cell may include those cells adjacent to, or adjoining, the expanded program content cell. In yet another example, when a selected program content cell is expanded, various content cells surrounding the expanded program content cell may be contracted to accommodate the new size for the expanded program content cell. These contextual modifications allow the properties of the grid contents (e.g., such as start and end times of shows which are not in focus) to remain consistent or true while the secondary set of metadata is displayed.
In the event EPGMM 208 modifies a size for a surrounding content cell to the selected content cell, EPGMM 208 may display additional metadata for a surrounding content cell to take advantage of the increased display area. For example, expanding a height for the program item “Lost” may also expand the height a channel content cell for channel number 4 and station identifier KOMO. As a result, EPGMM 208 may display a station logo for KOMO (or promotional material, advertisements, video clips, and so forth) using the additional display area created when EPGMM 208 expanded the entire row containing the program content cell for “Lost.” This provides further contextually relevant information (e.g., familiar branding, compelling content, and so forth) to the user and contextual advertising (e.g., program and portal promotion, brand recognition, and so forth) opportunities to content providers.
It is worthy to note that when EPGMM 208 adjusts a content cell in the horizontal direction, EPGMM 208 may also adjust a position for the time identifiers displayed above the dynamic scaling grid. The positions for the time identifiers, however, do not necessarily need to correlate proportionally with the width of a given content cell. For example, the selected program content cell “News” has a second set of metadata with a time range of “7:35-8:05.” EPGMM 208 has expanded the width of the selected program content cell to be greater than a proportional amount of time (e.g., 5 minutes) as indicated by the distance between time identifiers 8:00 and 8:30.
Operations for the above embodiments may be further described with reference to the following figures and accompanying examples. Some of the figures may include a logic flow. Although such figures presented herein may include a particular logic flow, it can be appreciated that the logic flow merely provides an example of how the general functionality as described herein can be implemented. Further, the given logic flow does not necessarily have to be executed in the order presented unless otherwise indicated. In addition, the given logic flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof. The embodiments are not limited in this context.
In one embodiment, for example, a size for other content cells within a same row as the selected content cell may be expanded. A second set of metadata may be displayed for at least one item from the other content cells. The embodiments are not limited in this context.
In one embodiment, for example, a size for at least one of the content cells adjacent to the expanded content cell may be adjusted. For example, the cell size for adjacent content cells may be expanded or contracted as desired for a given implementation. Similarly, a font size for at least one of the modified content cells may be adjusted in addition to, or in conjunction with, a modification of a cell size. The embodiments are not limited in this context.
In one embodiment, for example, a size for an expanded content cell may be expanded by increasing a height along a vertical axis, a width along a horizontal axis, or in both directions. In some cases, the size for the expanded content cell may be expanded based on an amount of information for the second set of metadata to be displayed. The embodiments are not limited in this context.
In some cases, a size for all content cells within a same column or row as the expanded content cell may be expanded as well. If this occurs, a second set of metadata for one or more the unselected but expanded content cells may be displayed to take advantage of the additional display area.
Numerous specific details have been set forth herein to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components and circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
It is also worthy to note that any reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, computing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.