1. Field of the Invention
The present invention, called a Multimedia Content Navigation Tool (“MCNT”), relates generally to the field of multimedia content creation, storage, distribution and delivery, and the navigation and selection of multimedia content items from one or more multimedia content sources, such as, inter alia, cable television, satellite television, local broadcast or other wireless television, and IP data systems and networks, including the Internet, and specifically to a method and apparatus for organizing, sorting, and user-friendly graphical illustration display and navigation of multimedia content items for selection by a user using remote control buttons, keyboard keys, and/or on-screen button icon displays connected to multimedia terminal devices including, inter alia, cable tv set-top boxes, television sets, satellite tv receivers, video game consoles, multimedia computers, portable communications devices, audio players, DVD players, CD burners/players, digital video recorders, video cassette recorders.
2. Description of Related Prior Art
A major dilemma facing the content creators, content aggregators, service providers, and the content consumer is the difficulty in navigating among the enormous quantity of content that is now available in the home. New techniques are needed to allow viewers to select desirable content in today's multi-dimensional media space without endlessly surfing through thousands of television channels and media web sites. The present invention is designed to allow agents at various points in the multimedia delivery system to dynamically create matrices of content that simplify the navigation process for the content consumer at the endpoint of the media universe.
Many media delivery systems, such as cable and satellite television systems, utilize Electronic Program Guides, or EPGs, such as those disclosed by Freeman in U.S. Pat. No. 4,264,924 and Young in U.S. Pat. No. 4,706,121, to provide organization for time-linear media programming offered by the service providers. Such EPGs allowed a viewer to manually select the programming that was desirable for viewing at certain scheduled times, with the underlying system automatically locating the selected program by controlling a programmable channel tuner to connect the viewer to the appropriate video signal. Such systems, unfortunately, still require the viewer to actively select the desired programming and provide no real assistance in sorting through the thousands of programming options available in today's multi-dimensional media space.
Improvements in the navigation of content over time were made in systems such as that described by Herz et al. in U.S. Pat. No. 5,351,075 that allows the viewer to select video programming based on a future schedule of programming events. Many systems have also been developed that allow the viewer to customize the content selection process by utilizing an on-screen display that includes programs from only a specific content category or a list of programs on favorite channels. See, for example, White et al. in U.S. Pat. No. 5,596,373 and Lawler in U.S. Pat. No. 5,758,259. While such navigational systems provide improvements over the pure linear selections of the earlier EPGs, it is desirable to have additional capabilities that allow viewers to sort information from many sources base on individual preferences.
An example of such a sort-based system is described by Herz in U.S. Pat. No. 6,088,722, where viewer profile information is used to calculate an “agreement matrix” which characterizes the attractiveness of each video program to each viewer. A variety of content can be thus selected from among the active video channels and sorted into Virtual channels that are targeted to meet the viewing tastes of particular customers. This system is a step in the right direction, but does not provide the flexibility needed to sort across a multi-dimensional media space that includes broadcast and stored media, as well as web-based content choices. This system also does not provide any mechanism to pre-process multi-dimensional content matrices to target the tastes of a variety of viewers that might be simultaneously accessing content on a multi-faceted delivery system, such as that found in cable television systems today, that can provide access to broadcast video, Video on Demand Servers, Specialty Pay-per-View channels, Live Webcasts, Interactive, Video games, Stored Web-based Media, and a variety of stored media interconnected by home networking technologies. Such multi-dimensional media systems require a more sophisticated organizational and navigation system, such as that described in the present invention.
There have been systems introduced that provide the capacity to navigate across two or more media dimensions, such as the merged scheduling approach described by Nishikawa, et. al. in U.S. Pat. No. 6,348,932 and Klosterman in U.S. Pat. No. 5,550,576, where the program guide information from multiple media sources are merged into a single EPG. Another such system was developed by Hoffman in U.S. Pat. No. 5,883,677, where separate streams of programming information are collected from multiple outside video service providers are combined into a single database for presentation to the viewer. Although each of these systems do provide for navigation across multi-dimensional media space, the end result is to collapse the media space into a large, flat single dimensional space that is more difficult to navigate. The present invention provides the means to organize and sort media in such multi-dimensional media spaces, not by combining all of the available media into a single dimension, but by searching and sorting across the media spaces using algorithms ruled by viewer preference.
There are also systems that combine access to content across television channels and the Internet, such as that described by Boyer, et. al. in U.S. Pat. No. 6,268,849, where the information for the EPG is obtained by access to a Internet Website. Other systems, such as that described by Legall, et. al. in U.S. Pat. No. 6,005,565, provides an integrated search tool that can access information available from EPGs and Websites to aid in the selection and display of desirable content. Such tools store the search criteria in filters that can be effectively executed at a future time. These inventions provide a positive step in moving towards integrated organizational and search techniques across television and Internet. What they are lacking, however, is a unified method and technique that allows for content to be processed and sorted at multiple points in the media spaces, such as the pre-processing and real-time processing that the present invention provides.
Generally, the present invention discloses a method and apparatus for organizing, sorting, and navigating one or more multimedia content items available from one or more of a plurality of multimedia content sources (each content source herein also referred to as a “media plane” and the one or more multimedia content items available from the multiple media planes herein referred to as a “multi-dimensional media space”), which such multimedia content sources (media planes) include, but are not limited to, wired or wireless information, communications or broadcast systems and networks, such as, inter alia, cable television, satellite television, local broadcast or other wireless television, telephone, cell phone/PCS, Internet world-wide-web, other internet protocol (“IP”) Client-Server, video-on-demand, and electronic magazine rack systems and networks, and associated computer, storage and communications devices of the foregoing. A multimedia content item (herein also referred to as a “content item”) is defined as information comprising any one or a combination of video, audio, still or moving images, text, symbols, or graphics including, but not limited to, movies, television programming, photos, web pages, video games, software code, maps, charts, music, speeches, literary text and artwork images (and associated audio, if any).
A multimedia content user desiring to select from a vast number of available multimedia content items by virtue of having access to one or more media planes, with each media plane providing a large amount of multimedia content item choices, is faced with a daunting task in the absence of some method of organizing, sorting, displaying for navigation, and navigating the vast number of available content items in a user-friendly way. The present invention solves this problem by enabling a user, such as a viewer of multimedia content (or a video game player, a person interacting with interactive multimedia content, or a person downloading a software module), to find and select multimedia content items which have been sorted based on defined sorting criteria, by presenting to the user, in a viewer-friendly display for navigation, a graphical illustration of a list, menu and image of the one or more content item(s) matching or otherwise conforming to said sorting criteria, and by enabling the user to navigate said displayed content item(s) graphical illustration by invoking a plurality of navigation functions by pressing buttons on a remote control device, keys on a keyboard, and/or on-screen button icons appearing on a display connected to a multimedia terminal device such as, inter alia, a cable tv set-top box, television set, satellite television receiver, video game console, multimedia computer, portable communications device, audio player, DVD player, CD burner/player, digital video recorder, video cassette recorder. The present invention discloses a method of organizing multimedia content items available from a multi-dimensional media space; sorting out one or more subset(s) list(s) of multimedia content items from said multi-dimensional media space (which such subset(s) match(es), or otherwise conform(s) to, a defined sorting criteria) and presenting the subset(s) list(s) in a display for navigation; and displaying and navigating the subset(s) list(s), whereby a user of multimedia content is able to view a display showing a graphical illustration of said one or more matching (conforming) subset(s) list(s), and by so viewing, point to and otherwise manipulate one or more display windows of said graphical illustration to select a content item from the subset(s) list(s) for use (e.g. viewing, listening, interactive playing, or downloading) by pressing buttons on a remote control device, keys on keyboard, and/or on-screen button icons connected to a multimedia terminal device to invoke one or more navigation functions. Each of the organizing, sorting, displaying, and navigating methods disclosed uses a hierarchial multi-dimensional information structure disclosed by the present invention. Each of the parameter sets in the hierarchy of the multidimensional information structure disclosed contains one or more parameters and each said parameter contains one or more related information fields, and each of the fields contains variables having values expressed in any one or a combination of alphanumeric characters, punctuation symbols, text strings, arithmetic and logic operators, integers, and real numbers.
As one example, and not as a limitation of the present invention, a plurality of available multimedia content items is organized, sorted, displayed and navigated in a system having at least one of the following multimedia terminal devices, such as a digital cable tv set-top box with associated remote control device, a digital television set with associated remote control device, and an in-home area network multimedia computer with associated wired or wireless keyboard, said multimedia terminal device(s) being connected to a multi-dimensional media space comprising a cable television system delivering multiple television programming, pay per view, video-on-demand, and music programming services, a satellite television system delivering multiple television and music programming services, an off-air local broadcast digital television station delivering multiple television programming services, a broadband XDSL or cable modem IP network connection providing access to multiple file, video-on-demand, web page and streaming media servers on the Internet world-wide-web or a virtual private network, and an in-home area network connecting a digital video recorder, multimedia server computer and storage device, with said device itself storing a plurality of multimedia content items. Each of the aforementioned television programming, pay per view, video-on-demand, file/web, image, music and streaming media sources contain multiple multimedia content items, all of which comprise a multi-dimensional media space organized, sorted, displayed and navigated by the present invention.
In a first aspect of the invention, a method of organizing one or more multimedia content items in a multi-dimensional media space using a hierarchy of parameter sets in a multi-dimensional information structure, is disclosed. The method generally comprises organizing characteristic information particular to each content item, including, inter alia, title/name, identification number, description, version, class and type, location, restrictions or entitlements on use, genre/subject matter, owner/provider/author/publisher/distributor, date of publication or release, source, time and duration of availability, running time duration, decode/display/processing format/engine, file size, targeted viewer/user demographics, and appropriateness or other content rating (e.g. tv rating, movie rating, video game rating, target viewer demographics, into the information fields of the parameters in the parameter sets comprising the multi-dimensional information structure. One of the parameter sets, a Content Instance, comprises a Content Descriptor and a Content Locator. Another parameter set, a Content Diagonal, organizes, through characterizing and locating, one or more Content Instances by containing, along with one Diagonal Header to identify the Content Diagonal itself, both a Content Instance Locator and a Content View Token particular to each Content Instance assigned to the Content Diagonal, with said assignment being based on their respective Content View Tokens. Any particular Content Diagonal may contain Content Instances from one or more media planes, although the respective Content View Tokens defines one or more common characteristics of the Content Instances found in a particular Content Diagonal. Another parameter set, a Content Display Matrix, organizes, through characterizing and locating, one or more Content Diagonals by, along with a Matrix Header to identify the matrix itself, both a Diagonal Locator and a Diagonal View Token particular to each Content Diagonal assigned to the Content Display Matrix, with said assignment being based on their respective Diagonal View Tokens. Any particular Content Display Matrix may contain Content Diagonals having different Diagonal View Tokens, so that content items of varied characteristics (i.e. defined by different view tokens) can be made eligible for display or use if said characteristics conform to the pre-defined sorting criteria as specified below.
In a second aspect of the invention, a method of sorting out one or more subset(s) list(s) of multimedia content items from a multi-dimensional media space by performing one or more sorting algorithms to determine one or more multimedia content items which match(es), or otherwise conform(s) to, defined sorting criteria; preparing an ordered list of the one or more matching (or otherwise conforming) subset(s); and presenting said subset(s) for display and navigation using a plurality of presentation and navigation parameter sets in the hierarchy of the multi-dimensional information structure disclosed. The sorting method generally comprises defining the sorting criteria (either in advance of content item selection or in real-time at the time of content selection) as content item characteristic information expressed in the type and format of the parameters and variables in the fields of the aforementioned organizing parameter sets; examining the information contained in the organizing parameter sets of each multimedia content item in a multi-dimensional media space using one or more sorting algorithms; comparing said examined information with the defined sorting criteria information using one or more sorting algorithms to determine the content items which match, or otherwise conform to, said sorting criteria (thereby identifying the content item(s) as “acceptable” for the particular active viewer; preparing one or more list(s) of one or more of the matching (or otherwise conforming) multimedia content items using one or more sorting algorithms, whereby said list(s) is/are subset(s) of the content items in the multi-dimensional media space and said list(s) contain content items sorted into one or more parameter sets in the hierarchy of the multi-dimensional information structure; using said one or more sorting algorithms to assign a Content View Token to each content item listed in the sorted subset(s); using said one or more algorithms to sort content items by comparing their individual Content View Token(s) with one or more Viewing Profiles as sorting criteria to sort each content item into one or more Content Diagonals; further using said Content View Token(s) by a real-time Navigation Processing Engine to dynamically evaluate whether or not a particular content item can be viewed or accessed as “acceptable” for a particular viewer or user, as further specified below. As an example and not as a limitation of the present invention, said subset(s) of content items may be sorted according to the Content Locator and/or to the Content Descriptor contained in the Content Instance of each of the listed content items. In a third aspect of the invention, a method of further sorting multimedia content items for navigation is disclosed. The method generally comprises defining a set of one or more Viewing Profile(s) as information expressed in the type and format of the information contained in the aforementioned Content View Token(s); examining the Content View Token(s) of one or more content items in a multi-dimensional media space and comparing said Content View Token(s) with one or more Viewing Profile(s) to create a list of those content items having a Content View Token(s) which match(es), conforms with (or is otherwise “compatible” with) the one or more Viewing Profile(s); using the results of the aforementioned sorting to create a new, or modify an existing, set of Content Diagonals containing a list of only those content items with a Content View Token(s) matching, conforming with, or otherwise “compatible” with, the defined View Profile(s), whereby a content item having an associated Content View Token not matching the Viewing Profile(s) is either: not included in the Content Diagonal, or is removed from the Content Diagonal, or is “blanked out” in the on-screen display of the Content Diagonal, or is replaced by a substituted content item having a Content View Token that is “acceptable” according to the Viewing Profile(s).
In a fourth aspect of the invention, a method of navigating the aforementioned one or more sorted subset(s) list(s) of multimedia content items using a multi-dimensional graphical tool comprising a real-time Navigation Processing Engine to process, prepare and communicate a set of “active” navigation information parameter sets to a real-time Navigation Display Engine, is disclosed. The method, embodied in the real-time Navigation Processing Engine, generally comprises inputting configuration information pertinent to a particular user (viewer, listener, gamer), herein referred to as a Viewer Configuration Information parameters set, along with other parameter sets of the disclosed multidimensional information structure, including, inter alia, Content Instances, Content Diagonals and Content Display Matrices, as well as content items delivered from one or more media planes, into the real-time Navigation Processing Engine; processing said inputted Viewer Configuration Information and other parameter sets in the real-time Navigation Processing Engine to calculate View Values; comparing said View Values with the individual Content View Token(s) of one or more content items; then, based on the results of said comparison as being “acceptable” or “unacceptable”, either allowing an acceptable content item to remain in the active Content Display Matrix, deleting an unacceptable content item from the active Content Display Matrix, “blanking out” the on-screen display listing of an unacceptable content item even though the content item may still be contained in the active Content Display Matrix, or searching for and substituting an acceptable content item into the active Content Display Matrix to replace an unacceptable content item; generating one or more active Content Display Matrix (or Matrices); preparing the appropriate set of active Content Diagonals identified by the one or more active Content Display Matrix (or Matrices), which such Content Diagonals may require modification, before communication by the real-time Navigation Processing Engine to the real-time Navigation Display Engine, if the Content View Token(s) of the content items listed in the Content Diagonals indicate that the Content Instances are unacceptable for the particular active viewer; extracting “information requests” from the Viewer Configuration Information; retrieving the information requested in the aforementioned information requests from Content Descriptors, Content Instances, and Content Locators; and formatting and communicating the retrieved information to the real-time Navigation Display Engine as a set of Display Information Containers, whereby there is at least one Display Information Container transmitted for each Content Diagonal and at least one Display Information Container transmitted for each Content Instance.
In a fifth aspect of the invention, a method of displaying navigation information and content item subset list(s) using a graphical user interface (“GUI”) provided by a real-time Navigation Display Engine, for displaying a list/menu for navigating the sorted one or more subset(s) list(s) of multimedia content items based on the active navigation information prepared and communicated by the aforementioned real-time Navigation Processing Engine. The method, embodied in the real-time Navigation Display Engine, enables a user (e.g. viewer, listener, gamer, downloader of multimedia content) to navigate among the subset(s) list(s) of one or more content items actually being displayed currently (herein called the Current Content Items), as well as to obtain information about the subset(s) list(s) of content items that could be displayed (herein referred to as Viewable Content Items) accessible within the active Content Display Matrix (or Matrices), and generally comprises a plurality of display windows, said plurality of display windows comprising an Active Content Item Window as the primary display window (typically, but not necessarily, located in the center of the display) displaying the content item that has been activated by the viewer, an Active Diagonal Information Window displaying information extracted from the aforementioned Display Information Containers and related to content items associated with the active Content Diagonal, a Selected Item Information Window displaying information related to the selected content item, one or more Diagonal Windows, with each such window displaying content items having some common characteristic, such as, but not limited to, a cable television channel with multiple content items comprising television programs arranged according to their scheduled showing times.
In a sixth aspect of the invention, a method of operating the aforementioned navigation display content items lists/menus generated by the real-time Navigation Display Engine to enable a user (e.g. viewer, listener, gamer, downloader of multimedia content) using the GUI to navigate the displayed information contained in the active Content Display Matrix (or Matrices) using navigation functions mapped to, and invoked by pressing remote control buttons, keyboard keys, and/or on-screen button icons connected to a multimedia terminal device of the types specified herein, is disclosed. The method generally comprises a plurality of navigation functions including, but not limited to, a Diagonal Forward or Up function to shift the content item referenced and displayed in the aforementioned content display windows forward, or up, in value by at least one count each time the function is invoked; a Diagonal Reverse or Down function to shift the content item referenced and displayed in the aforementioned content display windows backward, or down, in value by at least one count each time the function is invoked; a Diagonal Rotation Counterclockwise function to position a Content Diagonal into a certain viewing space on the display (said viewing space herein referred to as the Viewable Content Diagonal Space) by rotating at least one Content Diagonal counter-clockwise around the display each time the function is invoked; a Diagonal Rotation Clockwise function to position at least one Content Diagonal into the Viewable Content Diagonal Space by rotating the at least one Content Diagonal clockwise around the display each time the function is invoked; a Diagonal Forward View function to replace at least one Content Diagonal then positioned in the Viewable Content Diagonal Space with a “next” set of one or more Content Diagonal(s) found in an ordered set of Content Diagonals each time the function is invoked; a Diagonal Reverse View function to replace at least one Content Diagonal then positioned in the Viewable Content Diagonal Space with a “previous” set of one or more Content Diagonal(s) found in an ordered set of Content Diagonals each time the function is invoked.
Reference is now made to the drawings wherein like numerals refer to like parts throughout.
Overview
The present invention, a Multimedia Content Navigation Tool (“MCNT”), discloses a method and apparatus useful for organizing, sorting, displaying for navigation, navigating and selecting from a plurality of multimedia content items available from a multi-dimensional media space of one or more multimedia content sources (said sources herein also referred to as media planes). Said media planes include, but are not limited to, wired or wireless communications or broadcast systems and networks including, inter alia, cable television, broadcast or other wireless television, satellite television, telephone, cell phone/PCS, and internet protocol (“IP”) networks, including the Internet, systems and networks, as well as multimedia, file, web or video-on-demand server and client computers, and associated storage and communications devices.
The present invention discloses a hierarchy of parameter sets in a multi-dimensional information structure containing characteristics of multimedia content items to particularly identify, describe, characterize and locate each individual content item to organize and sort the content items according to one or more of their characteristics, list a menu of said content items in a graphical illustration display for navigation, and navigate said content item(s) list(s) and select from said listed content item(s) for use (e.g. viewing, listening, downloading, interacting with) using a plurality of navigation functions to navigate, select displayed items within, and operate said display. Such content item characteristics include, inter alia, title/name, identification number, version, short narrative description, date of release or publication, type and class, genre/subject matter, product/good/service type (such as for a content item which is an advertisement or infomercial), location where it can be found, restrictions or entitlements to its use, owner, provider or author, actor or performer, time and duration of availability of the content item, decode/display format/engine, targeted viewer/user demographics, age appropriateness or other content rating, file size, and length of the content item. Information pertaining to the characteristics of content items is represented as variables having values expressed in alphanumeric characters, punctuation symbols, text strings, arithmetic and logical operators, integers, and real numbers contained in one or more information fields within the parameters comprising the parameter sets. Further, parameter sets themselves are contained in other parameter sets to form a hierarchy of parameter sets in the multi-dimensional information structure for identifying, describing, characterizing, and locating each instance of a particular multimedia content item available in the multi-dimensional media space of multiple media planes. This multi-dimensional information structure disclosed is further used to sort, display for navigation, navigate and select said content items according to the present invention, as specified herein.
The present invention discloses a method of sorting multimedia content items available from the multi-dimensional media space by examining and comparing one or more of the information fields contained in the aforementioned parameter sets for the purpose of identifying those content items which match, or otherwise conform to, defined sorting criteria, with said sorting criteria being expressed in the same types, formats and values of the variables contained in the aforementioned information fields. As a result of one or more sorting operations, one or more subset(s) of one or more matching, or otherwise conforming, content items are then placed in one or more ordered lists according to the sorting criteria they matched or otherwise conformed with. The subset ordered list(s) is (are) identified, described and given a location using additional parameter sets in the hierarchy of the multi-dimensional information structure disclosed in the present invention. The subset ordered list(s) is (are) prepared and presented to a multimedia content user (e.g. viewer, listener, gamer) in a graphical illustration display for navigation using the display and navigation method disclosed herein using the multi-dimensional information structure.
The present invention discloses a method of using a plurality of parameter sets in the multi-dimensional information structure to prepare, present and activate a display presentation, and enable navigation, of the aforementioned subset(s) list(s) of multimedia content items resulting from the aforementioned sorting method, by generating and communicating information identifying, describing, characterizing, and locating said subset(s) of content items, as well as providing additional “active” navigation information and navigation functions required to display and navigate said subset(s) list(s) on a viewable image screen including, inter alia, screens generated by multimedia terminal devices of the type specified herein. The display and navigation method disclosed is embodied in a real-time Navigation Processing Engine 1201 and a real-time Navigation Display Engine 1202, shown in
Multimedia Content Navigation Tool Terminology
As used herein, the term “MCNT” or “Multimedia Content Navigation Tool” refers to the overall present invention disclosed.
As used herein, the term ” multimedia content item” or ” content item” refers generally to information comprising any one or a combination of, video, audio, still or moving images, text, symbols or graphics including, but not limited to, a movie, television programming including but not limited to tv series, movies, news, weather and sports, infomercial or tv advertisements about products/goods or services, photograph(s), web page(s), streaming media files, video game(s), software code, map(s), chart(s), musical pieces, speechs, text, and art work images and audio associated with any of the foregoing.
As used herein, the term “multimedia terminal device” refers generally to devices capable of processing, displaying and otherwise reproducing the video, audio and other components of multimedia content items from a multimedia system or multimedia network, and includes, inter alia, set-top boxes, television sets, direct-broadcast satellite television receivers, video game consoles, multimedia computers, portable communications devices, audio players, DVD players, CD burners/players, digital video recorders, video cassette recorders, and any combination of one or more of the foregoing devices.
As used herein, the term “user”, which is interchangeable with and includes, inter alia, “viewer”, “listener”, “gamer”, and “player”, refers generally to a person who, by operating a multimedia terminal device of the type specified herein, uses a multimedia content item, which, depending on the particular content item and multimedia terminal device used, includes any one or more of the following: viewing (such as a movie or television program), listening to (such as a musical piece or audio program), playing or interacting with (such as a video game or interactive content item), or downloading (such as with a downloadable content item or software module) a multimedia content item respectively.
As used herein, the term “multimedia system(s)” refers generally to a group of either wired or wirelessly interconnected or related devices for creating, storing, distributing, or delivering multimedia content items. As examples, and not as a limitation, multimedia systems include, inter alia, a multichannel analog or digital cable television system of headend equipment, coax and fiber cable and transmission devices, a local analog or digital broadcast television station of production studio and transmitter devices, a video-on-demand server computer and associated storage, display and communications devices, a broadband connection to the Internet through cable tv coax cable modem, fiber cable, or multi-pair telephone wire XDSL transmission, routing and switching devices, a file or web server computer and associated storage and communications devices, a satellite television system of uplink, space segment satellite(s), and home satellite receiver devices, a wireless WIFI cell/PCS phone or television system of fixed transmitting-receiving station equipment and portable transmitting-receiving devices, one or more computers interconnected with internet protocol (“IP”) routing, switching, transmission and other networking devices, the Internet world-wide-web or virtual private network (VPN), cameras, microphones and video and audio amplification, recording and storage devices, electronic “magazine rack” systems, electronic library systems.
As used herein, the term “multimedia network(s)” refers generally to a group of the aforementioned wired or wirelessly interconnected or related multimedia systems, as specified above, for the creation, storage, distribution, or delivery of multimedia content items; and, also refers to one or more business entities involved in the creation, storage, distribution, or delivery of multimedia content items, or both. As examples, and not as a limitation, said network(s) include, inter alia, a plurality of local broadcast television stations affiliated with a national broadcast network (e.g. NBC, CBS, ABC, FOX, WB), a plurality of cable tv systems interconnected and operated under a common brand name (e.g. Comcast, Time Warner Cable), a satellite television service operated under a common brand name (e.g. Dish Network), a cable or satellite television programming service (e.g. ESPN, CNBC, CNN, Discovery, HGTV, HBO, Showtime), a movie production and distribution operation (e.g. Universal movie studios, Paramount movie studios, Disney movie studios).
As used herein, the term “media plane(s)”, “multi-media content source(s)” or “content sources” refers generally to one or more multimedia systems or multimedia networks, from which is available for delivery, one or more multimedia content items.
As used herein, the term “multi-dimensional media space” refers generally to one or more of a plurality of media plane(s).
As used herein, the term “hierarchial multi-dimensional information structure” refers generally to a plurality of parameter sets, defined in a multi-level hierarchy, used to contain and manipulate information for organizing, sorting, displaying for navigation, navigating, and selecting content items according to the present invention. Table 1 below depicts an exemplary embodiment of the hierarchial multi-dimensional information structure of the present invention comprising a plurality of parameter sets and their included parameters and information fields used for organizing, sorting, displaying for navigation, and navigating content items.
As used herein, the term “parameter set(s)” refers generally to the information or data structure disclosed, with each parameter set comprising one or more parameters, each parameter containing information fields pertinent to content items, as well as information pertinent to identify the parameter sets themselves.
As used herein, the term information “field(s)” refers generally to the one or more data structure spaces contained in a parameter. Information fields contain variables for identifying, describing, characterizing, and locating content items and the parameters themselves, with such variable values expressed and delimited by alphanumeric characters, punctuation symbols, logical operators, integers, and real numbers.
It should be noted that throughout this specification, terminology and parts/component/element descriptions, including parameter and field names of the disclosed information structure, while consistent in the use of a part number, may be capitalized or in small letters, shortened or abbreviated, or may use alternative cross-referenced names (e.g., Content Display Matrix=Content Matrix=Display Matrix,=Matrix 401) without the intent of altering or modifying their meaning, definition, or function; and, such alternative names, having the same part number, are intended to be interchangeable.
Method of Organizing, Identifying, and Locating Content Items Using a Hierarchial Multi-Dimensional Information Structure
Reference is made to the parameter sets of the hierarchial multi-dimensional information structure comprising the parameters and their respective information fields listed in Table 1 below, wherein like numerals refer to like parameters and included information fields throughout this specification. Each of the parameter sets in the information structure contain one or more parameters, and each of the parameters contains information fields of variables having values expressed in any combination of alphanumeric characters, punctuation symbols, logical operators, algebraic and arithmetic symbols, integers, and real numbers.
Content Display Matrix (CDM) 401 (also referred to as “Content Matrix”, “Display Matrix”, or “Matrix”) (Organizes available Content Items that can be displayed to a particular viewer.)
Content Diagonal (CD) 301 (also referred to as “Diagonal”)
(Contains an ordered list of CILs 304s, each of which point to a unique CI 100.)
Content Instance (CI) 100 (Describes and locates a particular Content Item.)
Real Time Content Matrix Descriptor (RTCMD or CMD) 425
(Contains info about a Content Matrix received by Navigation Processing Engine.)
Matrix Information Data (MID) 450 (Contains information about a particular Content Matrix 401)
Viewer Configuration Information (VCI) 125
(Provides a list of viewer/user preferences, restrictions, entitlements used to define how the real-time Navigation Display Engine displays the list/menu of Content Items.)
View Filter Definition (VFD) 150
(Provides the format and information field definitions for a View Filter.)
Viewer Configuration Descriptor (VCD) 131
(Contains text describing a particular viewer's preferences, restrictions, entitlements.)
View Filter (VF) 155_(Provides the algorithm used to verify that each CD and each CI contained in the Active Content Matrix meets a particular viewer's configuration requirements.)
Viewer Display Descriptor (VDD) 180 (Contains the definition of information to be displayed by the real-time Navigation Display Engine for a particular viewer.)
Display Information Array (DIA) 190 (Contains an array of information, arranged into a set of Display Information Containers used by the real-time Navigation Display Engine for creating the actual display fields.)
Hierarchial Information Structure List of Parameters and Information Fields:
Content Instances:
Referring now to
A particular content item may be located (i.e. exist) in more than one location within a particular media plane and in more than one media plane, and, therefore, may be represented by more than one Content Instance 100. Although a particular content item, for example, a particular episode of a sitcom television series, may be in more than one location, a particular location in a media plane will contain only one content item. A Content Instance Locator 106 defines the location of a particular Content Instance 100. A Content Descriptor 105 parameter set identifies and describes a content item. As an example, a content item located in two media plane locations may have two Content Instances 100, each having a similar Content Descriptor 105, but a different Content Locator 106. In the
The Content Instance 100 parameter set comprises a Content Descriptor 105 parameter, identifying and describing the content item, and a Content Locator 106 parameter, defining the location of the content item, and is expressed as follows:
A Content Instance 100 is assigned to each instance (occurrence, existence) of a particular content item, although a particular content item may have one or more Content Instances 100 if it is located in multiple locations within one media plane or within multiple media planes in the multi-dimensional media space. For example, a movie that is available from both a video-on-demand server of media plane 202 and is also scheduled for showing at a specific time on a cable tv channel of media plane 203 would have two Content Instances 100. In this example, both Content Instances 100 may have the same Content Descriptor 105, but each one would have a different Content Locator 106.
The descriptive information particular to a multimedia content item is contained in the Content Descriptor 105 parameter comprising a plurality of information fields, which fields together describe a particular multimedia content item. In an exemplary embodiment of the present invention, the Content Descriptor 105 parameter contains a plurality of fields containing at least the following information expressed as follows:
In said exemplary embodiment, the fields of the Content Descriptor 105 parameter contain the following types of variable values:
Each content_class comprises a set of one or more associated content types and the content_type_descriptor( ) 111 contains information describing the type of the content item. As an example, and not as a limitation of the invention, the set of content types associated with the “sports event” content_class includes, inter alia, {baseball, basketball, football, soccer, track, golf, fishing, rugby, boxing, wrestling, cycling, tennis}. As another example and not as a limitation, the set of content types associated with the “movies” content_class includes, inter alia, {full-length feature film, made-for-tv, short}. As yet another example and not as limitation, the set of content types associated with the “infomercial or advertisement” content_class includes, inter alia, {product, good, service, general information}. {According to the invention, the specific data format, type and structure for the content_type_descriptor may be different for each content_class. It is anticipated that the set of content types associated with a particular content class may be altered to include additional content types, as well as the data format, type and structure of their associated descriptors may be altered, without departing from the spirit and scope of the invention.
The content_engine_descriptor( ) 112 contains information describing the content engine or format necessary to properly or accurately decode, process, display, reproduce, or enable usage of, the content item. The content_engine_descriptor comprises a set of pairs defining the content engines necessary to process the content item, and contains at least the following information expressed as follows:
As an example of a particular content_engine descriptor, and not as a limitation of the invention, if the content item is a digitally compressed movie, then the content_engine descriptor would contain at least the following information expressed as follows:
The provider_id 113 is an alphanumeric value uniquely identifying the provider of the particular content item.
The owner_id 114 is an alphanumeric value uniquely identifying the owner of the particular content item.
The genre field 115 is a text string containing the genre, or the subject matter, of the particular content item. As an example and not as a limitation, genre for the “movie” content-class includes, inter alia, {western, mystery, action, science-fiction, documentary}. As another example, and not as a limitation, the subject matter for the “infomercial or tv advertisement” content_class and “product” content_type may include, inter alia, {automobile, tires, appliance, toothpaste}
The appropriateness field 116 is an integer indicating the minimum appropriate age of the viewer for the content item. As an example and not as a limitation of the invention, an appropriateness value of 9 would indicate that the content item was appropriate for viewers age 9 and above, but was inappropriate for viewers below the age of 9. As yet another example, and not as a limitation, the appropriateness field may contain more than one integer to define an age range. As another example and not as a limitation, the appropriateness field may contain a value indicating the rating number relating to a content rating system such as for video games or television shows.
As another example, a viewer_demographics field(s) 117 contains information comprising a set of integer codes with defined meanings regarding viewer demographics including, inter alia, viewer gender, age range, ethnic background, geographic region, income level range, product/good/service/or information interest of the intended or targeted viewer (or user) of the content item, as well as such other information items pertinent to the target market for the particular product, good, service, or information that is the subject of the content item. The viewer_demographics field for a particular content item can be compared to the Viewer Profile as the sorting criteria used by the sorting operation according to the present invention to determine those infomercials or advertisements targeted to a particular viewer.
The content_usage_descriptor( ) 118 contains information comprising a set of pairs defining the rules governing the usage of the content item, such as, by way of example and not as a limitation of the invention, service entitlements or access restrictions applying to the particular content item. The content_usage_descriptor contains at least the following information expressed as follows:
As one example, and not as a limitation of the invention, if a particular content item offered in a premium subscription cable tv program service can only be viewed by paid premium subscribers, and only viewed on certain dates for a certain time period (in this example, for a duration of two hours anytime during the month of August, 2003), the applicable content_usage_descriptor would be
The content_text_descriptor( ) 119 contains text describing characteristics of the particular content item including, inter alia, title, brief summary narrative, rating, year of first publication release, key actors or performers, director, production studio, category, license window duration, per use price, maximum authorized period for viewing. The content_text descriptor contains at least the following information expressed as follows:
As an example and not as a limitation of the invention, for a content item that is a movie, the content_text_descriptor would be expressed as:
Referring again to
The Content Locator 106 parameter describes the location of an instance of a particular content item in a multi-dimensional media space. In one exemplary embodiment of the present invention, the Content Locator 106 parameter comprises a plurality of parameters containing at least the following information expressed as follows:
In said exemplary embodiment, the information fields of the Content Locator 106 parameter contains the following types of variable values:
The media_plane 141 indicates the media plane where an instance of a particular content item is located, including, inter alia, {broadcast television channels, cable television channels, satellite television channels, wireless television channels, telephony television channels, local, regional, national, and international video-on-demand servers, the Internet, digital video recorder, video cassette recorder, DVD, CD, electronic library, electronic magazine rack}. Media planes contemplated by the present invention are specified elsewhere herein. Additional media planes are contemplated by and easily accommodated by the methods disclosed in this invention without departing from its spirit and scope.
The delivery_type 142 indicates the means of delivery, typically associated with the media plane, used to deliver or access the particular content item, including, inter alia, {cable television A, cable television B, satellite A, satellite B, broadcast television, telephony A, telephony B, wireless network A, wireless network B, wired LAN, wired WAN, cable modem A, cable modem B, DSL modem A, DSL modem B, satellite modem A, satellite modem B, USB A, USB B, communications port A, communications port B, Firewire 1394 A, Firewire 1394 B, local storage device A, local storage device B, removable media player A, removable media player B, removable media carousel A, removable media carousel B}. Additional delivery types are contemplated by and easily accommodated by the methods disclosed in this invention without departing from its spirit and scope.
The location( ) 143 information field identifies the specific location of the particular content item in the specified media plane and used to obtain delivery of the content item from said media plane location via the specified delivery type. If a particular content item is located in several locations in one media plane or in several media planes, thereby resulting in more than one location detail, then the multiple location details are applied in the order listed in the location( ) field. The location( ) field contains at least the following location detail information expressed as follows:
As an example and not as a limitation of the invention, the location detail includes values identifying, inter alia, {depository address, channel number, URL, file name or number, data base address, track number, reference number}. It is anticipated that the set of location detail values may be altered to include other forms of locating information, which are contemplated and easily accommodated without departing from the spirit and scope of the invention.
The availability( ) 144 information field comprises a set of pairs defining the rules governing when the content item can be accessed, and contains at least the following information expressed as follows:
As an example and not as a limitation of the invention, the availability( ) field contains detail information fields including, inter alia, values defining the following availability opportunities: “always”, “time limited”, “real-time limited”, “when loaded”. In this example, if the availability of the particular content item is “always” or “when loaded”, then the availability_detail information field value is set to zero. It should be noted that there may be times when an “always available” content item is not accessible due to technical reasons. As another example, if the availability of the content item is “time limited”, then the availability_detail information field value indicates the time period that the particular content item is available. In yet another example, if the availability of the content item is “real-time”, then the availability_detail information field value indicates the “clock time” that the content item is available; or, if the content item is streaming media or broadcast content, the availability_detail information field value indicates the time that the content item starts.
The duration( ) 145 field indicates the duration of time that a streaming media or broadcast content item will be active.
The search_type( ) 146 field is a text string containing the name of a search technique used to locate the content item, with said search technique also utilizing the other information contained in the information fields of the location( ) parameter.
The access_security( ) 147 field contains an ordered list of security access information used to determine whether the user has the necessary security clearance to access the content item. The access security field contains at least the following information expressed as follows:
In an exemplary embodiment of the invention, the foregoing security_detail values are defined as follows:
It is anticipated that the set of possible access security_detail information field values may be altered to include other values and associated access definitions, which are contemplated and accommodated without departing from the spirit and scope of the invention.
Locator Information Fields
It should be noted and recognized in the specifications following, that the definitions of the foregoing information fields, namely the media_plane 141, delivery_type 142, location( ) 143, availability( ) 144, duration 145, search_type 146, and access_security 147, collectively referred to as the “Locator Information Fields” (“LIF”), apply to other locator parameters in the disclosed hierarchial multidimensional information structure, except that their reference pertains to the particulars of the specific locator to which they are applied. Therefore, repeated reference to these LIF definitions will be made, in the specifications and the parameter tables of
Content Diagonals
A Content Diagonal 301 parameter set characterizes and locates one or more Content Instances 100, containing a Diagonal Header 302 for its identification, as well as an ordered list containing both a Content Instance Locator 106 and an associated Content View Token 303 for each of the one or more Content Instances 100 contained in (i.e. assigned to) the Content Diagonal 301. The Content Instance Locator 106 points to the content item location in a media plane and the Content View Token 303 characterizes the content item for purposes of comparison to a defined sorting criteria. The assignment of a Content Instance 100 to a particular Content Diagonal 301 is based on its respective Content View Token 303 which defines characteristics common to all other Content Instances 100 contained in the particular Content Diagonal 301, although any particular Content Diagonal 301 may contain Content Instances 100 from one or more media planes.
Content Display Matrix (Also Referred to as Content Matrix or Matrix)
Another parameter set, a Content Display Matrix 401 characterizes and locates one or more Content Diagonals 301, containing a Matrix Header 402 for its identification, as well as an ordered list containing both a Diagonal Locator 403 and a Diagonal View Token 404 for each one or more Content Diagonals 301 contained in (i.e. assigned to) the Content Display Matrix 401. The Content Diagonal Locator 403 describes the location of a particular Content Diagonal 301 and the associated Diagonal View Token 404 characterizes that Content Diagonal 301 as to the Content View Tokens 403 of the content items contained in that Content Diagonal 301. The assignment of a particular Content Diagonal 301 to a Content Display Matrix 401 is based on its Diagonal View Token 404, which, as previously stated above, reflects the common characteristics defined by the Content View Tokens 403 of the content items contained within the assigned Content Diagonal 301. Any particular Content Display Matrix 401 may contain Content Diagonals 301 having different Diagonal View Tokens 404, so that content items of varied characteristics (i.e. content items defined by different Content View Tokens 403), even though contained in different Content Diagonals 301 within the Content Display Matrix 401, can be listed and “activated” in the displayed menu and thereby be selected for use.
Assignment of Sorted Content Items into Content Diagonal:
Referring now to
Content Diagonals 301 are used to organize content items having similar characteristics as reflected in the respective Content View Tokens 303, and contain at least the following information expressed as follows:
In said exemplary embodiment, the Content Diagonal 301 parameter set contains the following parameters:
The diagonal_name 305 is a text string containing the formal name of the diagonal.
The diagonal_id 306 is a unique alphanumeric value used to identify the diagonal.
The Content View_Token 303 (also referred to as a “View Token”) is an ordered set of integers used to determine whether or not the associated content item is “acceptable” for a particular viewer. A Content View_Token 303 may take on many different configurations, but the configuration must be the same for all Content View_Tokens 303 within a particular Content Diagonal 301. A locator, the View Token Definition Locator (VTDL) 410, in each Content Display Matrix (CDM) 401 is used to locate the appropriate View Token Definition (VTD) 307, which provides the applicable Content View Token 303 format and field definitions. The sorting criteria information is used to create the View Token Definition 307, and such VTD 307 is further used to define all of the View Tokens 303 in a given Content Display Matrix 401.
The Content_View_Token 303 (also referred to as View Token) contains at least the following information expressed as follows:
View_Token={number_of_entities; for (i=0; i++,i<number_of_entities){token_value,}}; where the token_value is an integer having a value defined in the View Token Definition 307, which defines the View Token 303 format and fields. As a result of one or more sorting algorithms, a View Token 303 is assigned to each content item of the sorted subset. The View Token 303 of each sorted content item is examined and used to assign said content item into one or more Content Diagonal(s) 301 or used by a real-time Navigation Processing Engine 1201 (as illustrated in
The Content_Instance_Locator (CIL) 304 describes the location of Content Instances 100 in a multi-dimensional media space. The Content_Instance_Locator 304 contains at least the following information expressed as follows:
The information fields contained in the Content Instance Locator 304 parameter have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, availability 144, duration 145, search type 146, access security 147, previously specified for the Content Locator 106, except that the reference here is to a Content Instance 100 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the Content Instance Locator 304 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “Content Instance” should be substituted wherever the words “content item” appear in said LIF definitions.
Assignment of Sorted Content Diagonal(s) into Content Display Matrix
Referring to
The Content Display Matrix 401 parameter set contains at least the following information expressed as follows:
In an exemplary embodiment, the Content Display Matrix 301 contains the following:
The display_matrix_name 405 is a text string containing the formal name of the display matrix.
The display_matrix_id 406 is a unique alphanumeric value used to identify the display matrix.
The display_matrix_version 407 is an integer or real number which indicates the version number of the display matrix.
The display_matrix_availability( ) 408 parameter indicates when the information in the Content Display Matrix 301 can be accessed. This availability field comprises a set of pairs that define the rules governing when the content item can be accessed, and contains the following information expressed as follows:
Availability indicates when the content item can be accessed. The variable itself consists of a set of pairs that define the rules governing when the content item can be accessed, and is expressed as follows:
In this exemplary embodiment, availability_detail is an integer which can be any of the following possible values: “0”, meaning not currently available; “1” meaning “always available”; “2”, meaning “available when loaded from media”; “3” meaning “available during a limited time”; “4” meaning “available during a specific time period”; “5” to “255” being reserved for other meanings. In this exemplary embodiment, availability_value is a text string having values which are dependent on the availability_detail value as follows.
When availability_detail is 4, then availability_value indicates the start time at which the content item is available and is of the form year:month:day:hour:minute:second, where year is an integer that indicates the year that the content item is first available, month is an integer within a range of 1 to 12 indicating the month that the content item is first available, day is an integer within a range of 1 to 31 indicating the day that the content item is first available, hour is an integer with a range of 0 to 23 indicating the hour that the content item is first available, minute is an integer within a range of 01 to 59 indicating the minute that the content item is first available, second is an integer from 01-59 indicating the second that the content item is first available.
The display_matrix_duration 409 value indicates the length, in time, that information in the Content Display Matrix 301 will be active.
The view_token_definition_locator 410 has multiple fields describing the location or placement of the View Token Definition 307, used in this Content Display Matrix 401, in a multidimensional media space. In this exemplary embodiment, the view_token_definition_locator 410 contains at least the following information, expressed as follows:
The information fields contained in the view token definition locator 410 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, availability 144, duration 145, search type 146, access security 147, previously specified for the Content Locator 106, except that the reference here is to a View Token Definition 307 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the view token definition locator 410 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “View Token Definition” should be substituted wherever the words “content item” appear in said LIF definitions.
The sort_algorithm_locator( ) 411 describes the location or placement of a sort algorithm 420 used in this Content Display Matrix 401, in a multi-dimensional media space. In this exemplary embodiment, the sort_algorithm_locator( ) contains at least the following information, expressed as follows:
The information fields contained in the sort algorithm locator 411 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, availability 144, duration 145, search type 146, access security 147, previously specified for the Content Locator 106, except that the reference here is to a Sort Algorithm 420 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the sort algorithm locator 411 use, are not repeated here. Therefore, in applying the initial LWF definitions, the words “Sort Algorithm” should be substituted wherever the words “content item” appear in said LIF definitions.
The current_root_diagonal 412 is an integer which indicates which diagonal is currently designated as the root diagonal by the real-time Navigation Display Engine 2001 shown in
The diagonal_view_token 404 parameter is an alphanumeric used to determine whether or not the content items contained in the associated Content Diagonal 301 is acceptable for viewing by a particular viewer. If the diagonal_view_token 404 is null (i.e., zeros in all fields), this means that the individual Content View Token(s) 303 of the individual content items listed in the Content Diagonal 301 are different and must be examined individually. If the diagonal_view_token 404 is non-null, then the diagonal_view_token 404 contains a “group value” that can be used to sort all of the content items in the associated Content Diagonal 301 collectively and thereby not requiring individual examination. Under such a non-null condition, the diagonal_view_token 404 is assigned the “group value” and shares the same definition as the individual Content View Token(s) 303 of the individual content items in the Content Display Matrix 401, and is expressed as follows:
In this exemplary embodiment, the token_value is an integer, the value of which is defined in the View Token Definition 307. The view_token_definition locator 410 locates the appropriate view_token_definition 307, which defines the diagonal_view_token 404 format and information fields.
The Content_Diagonal_Locator 403 parameter, included in the Content Display Matrix 401, describes the location or placement of a Content Diagonal 301 in a multi-dimensional media space 201. The Content Diagonal Locator 403 contains at least the following information expressed as follows:
The information fields contained in the content diagonal locator 403 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, availability 144, duration 145, search type 146, access security 147, previously specified for the Content Locator 106, except that the reference here is to a Content Diagonal 301 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the view content diagonal locator 403 use, are not repeated here. Therefore, in applying the initial LWF definitions, the words “Content Diagonal” should be substituted wherever the words “content item” appear in said LIF definitions.
The View Token Definition 307 defines the format and fields for a set of View Tokens 303. Each field in the View Token 303 contains an integer. The View Token Definition 307 contains at least the following information expressed as follows:
In this exemplary embodiment, the information fields contained in the View_Token_Definition 307 include the following:
The number_of_token_values 435 is an integer which defines the number of integers contained in the defined view token.
The token_reference 436 is a text string which contains the name of the field that is evaluated in the token. An example of a token reference would be “content descriptor, genre”.
The number_of token_reference_values 437 is an integer which contains the number of defined values for a given token reference.
The token_reference_value_definition 434 is a text string which contains a name corresponding to a particular type of the token reference. As an example and not as a limitation, if the view token is defined as containing only one reference as genre, with only four possible values of “cartoon”, “sports, all”, “movie”, or “education, general”, then the view token definition would be expressed as:
The content_matrix_sort_algorithm 420 (also referred to as sort algorithm) defines the sorting algorithm used to verify that each Content Diagonal 301 and each Content Instance 100 included in the Content Display Matrix 401 meets the identity requirements, i.e. that the application of the sort algorithm 420 to the content items in the Content Matrix 401 produces a logical “1” or “true” result. Each sort algorithm 420 comprises variables and logic operations. Only the token references declared in the View Token Definition 307 are eligible to be variables in the sort algorithm 420 and each such variable can only have a value that has been defined in the View Token Definition 307. The sort algorithm 420 contains at least the following information, expressed as follows:
In this exemplary embodiment, the information fields of the content_matrix_sort_algorithm( ) are defined as follows:
Number_of_algorithm_entries 421 is an integer which defines the number of text entities contained in the defined sort algorithm.
Algorithm_entity is a text string having the following possible values:
As an example, and not as a limitation, a sort algorithm 420 for the View Token Definition 307 example specified above would be expressed as:
As another example and not as a limitation, according to this sort algorithm 420, content items having the “cartoon” genre, “sports” genre, or “general education” genre are allowable for inclusion in the example Content Display Matrix 401, but “movie” genre content items are excluded from the example content matrix. This example would result in a content matrix sort algorithm 420 of the following form:
The following refers to
Referring to Table 1, the Real-time Content Matrix Descriptor (RTCMD or CMD) 425 contains information about a Content Display Matrix 401 communicated to the real-time Navigation Processing Engine 1201 for processing. The Real-time Content Matrix Descriptor 425 contains at least the following information, expressed as follows:
In this exemplary embodiment, the parameters of the real_time content_matrix_descriptor( ) 425 parameter set are defined as follows:
The Matrix_tag 426 is an integer identifying a particular Content Display Matrix 401 within the domain of the real_time Navigation Processing Engine 1201.
Matrix_status 427 is an integer describing the status of the Content Display Matrix 401 and any modifications that may exist thereto, and the matrix_status 427 variable can take on values including, but not limited to, “0” meaning that the Content Display Matrix 401 is unavailable; “1” meaning that only the original content matrix 456 is available; or “2” meaning that content matrix modifications are available.
The Matrix_Information_Locator 428 parameter comprises information fields that together describe the location or placement of the matrix information data (MID) 450 for the particular Content Display Matrix 401. In this exemplary embodiment, the matrix info locator parameter contains at least the following information, expressed as follows:
The information fields contained in the matrix information locator 428 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to Matrix Information Data 450 rather than to a content item. For the sake of specification efficiency, these LWF definitions, adapted to the matrix information locator 428 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “matrix information data” should be substituted wherever the words “content item” appear in said LIF definitions.
Referring now to
Referring now to
The information fields contained in the previous matrix descriptor locator 429 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a real time Content Matrix Descriptor (CMD) 425 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the previous matrix descriptor locator 429 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “content matrix descriptor” should be substituted wherever the words “content item” appear in said LIF definitions.
The next_matrix_descriptor_locator (NMDL) 430 parameter describes the location or placement of a next matrix descriptor. The next matrix descriptor locator contains at least the following information, expressed as follows:
The information fields contained in the next matrix descriptor locator 430 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a real time Content Matrix Descriptor (CMD) 425 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the next matrix descriptor locator 430 use, are not repeated here.
Therefore, in applying the initial LWF definitions, the words “content matrix descriptor” should be substituted wherever the words “content item” appear in said LIF definitions.
Matrix Information Data
Referring to Table 1, the Matrix_Information_Data (MID) 450 parameter set contains information about a particular Content Display Matrix 401 including the locator that points to the original content matrix, a list of viewers for the original content matrix, locators that point to modifications of the original content matrix and a list of viewers for each modification. Content Display Matrix 401 modifications are made, as required, based on the requirements of the Viewer Configuration Information 125. The Matrix Information Data 450 parameter set includes at least the following information, expressed as follows:
In this exemplary embodiment, the parameters of the Matrix Information Data 450 parameter set are defined as follows:
The original_content_matrix_locator (OCML) 451 parameter describe the location or placement of the original content matrix. The original content matrix locator contains at least the following information, expressed as follows:
The information fields contained in the original content matrix locator 451 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to the original content matrix 456 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the next matrix descriptor locator 451 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “original content matrix” should be substituted wherever the words “content item” appear in said LWF definitions.
The original_content_matrix_viewer_list (OCMVL) 452 parameter contains a list of viewers that have been “approved” to view the content item(s) contained in the original content matrix 456. This approval is attained when the designated view filter 155 successfully filters the original content matrix. The original content matrix viewer list 452 parameter contains at least the following information, expressed as follows:
The number_of_modifications 453 parameter is an integer defining the number of modifications performed on the original content matrix 456.
The content_matrix_modification_locator (CMML) 454 parameter describes the location or placement of a modified content matrix 457. The content matrix modification locator 454 parameter contains at least the following information, expressed as follows:
The information fields contained in the content matrix modification locator 454 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to the modified content matrix 457 rather than to a content item. For the sake of specification efficiency, these LWF definitions, adapted to the content matrix modification locator 454 use, are not repeated here. Therefore, in applying the initial LWF definitions, the words “modified content matrix” should be substituted wherever the words “content item” appear in said LIF definitions.
The modified_content_matrix_viewer_list (MCMVL) 455 parameter contains a list of viewers that have been “approved” to view the content contained in the modified content matrix 457. This approval is attained when the designated view filter 155 successfully filters the modified content matrix. The modified content matrix viewer list 455 parameter contains at least the following information, expressed as follows:
In this exemplary embodiment, the viewer_id 128 is text containing the viewer's (i.e. content item user's) identification, which is usually, but not necessarily, a name chosen by the viewer.
Viewer Configuration Information
Referring to Table 1, the Viewer_Configuration_Information (VCI) 125 parameter set contains a particular user's (i.e. viewer, listener, gamer of content items) preferences, entitlements and restrictions which are used by the real_time Navigation Display Engine 1202 to determine how it displays the list of content items. Viewer Configuration Information 125 contains at least the following information, expressed as follows:
In this exemplary embodiment, the Viewer Configuration Information 125 comprises the following:
The viewer_id( ) 128 is, as previously described, text containing the viewer's (i.e. content item user's) identification, which is usually, but not necessarily, a name, chosen by the viewer.
The view_filter_definition_locator (VFDL) 126 parameter describes the location or placement of the View Filter Definition (VFD) 150. The View Filter Definition Locator 126 contains at least the following information, expressed as follows:
The information fields contained in the view filter definition locator (VFDL) 126 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a View Filter Definition 150 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the view filter definition locator 126 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “view filter definition” should be substituted wherever the words “content item” appear in said LIF definitions.
The number_of_configured_viewers (NCV) 127 is an integer specifying the number of viewers that have performed the viewer configuration operation.
The viewer_configuration_descriptor_locator (VCDL) 130 parameter describes the location or placement of the viewer configuration descriptor (VCD) 131. The viewer configuration descriptor locator 130 contains at least the following information, expressed as follows:
The information fields contained in the view filter definition locator (VCDL) 130 have the same type of values as the fields called the “Locator Information Fields” (“LEF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a Viewer Configuration Descriptor 131 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the viewer configuration descriptor locator 130 use, are not repeated here. Therefore, in applying the initial LWF definitions, the words “view configuration descriptor” should be substituted wherever the words “content item” appear in said LIF definitions.
The view_filter_locator (VFL) 129 parameter describes the location or placement of the view filter (VF) 155. The view filter locator parameter 129 contains at least the following information, expressed as follows: view_filter_locator( )={media_plane, delivery_type, location}
The information fields contained in the view filter locator (VFL) 129 have the same type of values as the fields called the “Locator Information Fields” (“LWF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a Viewer Filter 155 rather than to a content item. For the sake of specification efficiency, these LWF definitions, adapted to the viewer filter locator 129 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “view filter” should be substituted wherever the words “content item” appear in said LIF definitions.
The viewer_display_descriptor locator (VDDL) 182 parameter describes the location or placement of the viewer display descriptor (VDD) 180. The viewer display descriptor locator 182 parameter contains at least the following information, expressed as follows:
The information fields contained in the viewer display descriptor locator (VDDL) 182 have the same type of values as the fields called the “Locator Information Fields” (“LIF”), namely the media plane 141, delivery type 142, location 143, previously specified for the Content Locator 106, except that the reference here is to a Viewer Display Descriptor 180 rather than to a content item. For the sake of specification efficiency, these LIF definitions, adapted to the viewer filter locator 129 use, are not repeated here. Therefore, in applying the initial LIF definitions, the words “viewer display descriptor” should be substituted wherever the words “content item” appear in said LIF definitions.
The view_filter_definition (VFD) 150 parameter set contains the format and field definitions for the view filter (VF) 155. All of the possible values for each view filter reference (VFR) 153 are defined in this data structure. The view filter definition 150 contains at least the following information, expressed as follows:
Note that all values for “j” that are not used in the filter reference definition for each view filter reference are considered to be undefined.
In this exemplary embodiment, the parameters of the view_filter_definition (VFD) 150 parameter set are defined as follows:
The number_of_filter_values 156 is an integer specifying the number of view filter references 153 that are defined.
The view_filter_reference (VFR) 153 is a text string containing the name of the field that is evaluated in the view filter (VF) 155. An example of a view filter reference 153 would be “genre”.
The number_of_view_filter_reference_definitions 152 is an integer containing the number of defined values for a given view filter reference 153.
The view_filter_reference_value_definition 154 is a text string containing a name corresponding to a particular type of the view filter reference 153.
The viewer_configuration_descriptor( ) (VCD) 131 contains text describing a particular viewer's preferences, entitlements and restrictions. This descriptor consists of a set of pairs that define the configuration information that apply to a particular viewer.
If, as an example and not as a limitation, the viewer is an 8 year old boy named Bobby that only wants to watch cartoons, movies, and sports and he likes to play action video games, but whose parents prefer that he have broader viewing choices, the viewer configuration descriptor in an exemplary embodiment would be:
The view filter (VF) 155 parameter set identifies the algorithm used to verify that each Content Diagonal 301 and each Content Instance 100 that is included in the active Content Display Matrix 401 meets the viewer configuration requirements, i.e., that the view filter algorithm produces a logical true or positive result. Each view filter 155 is composed of variables and logical operations. Only view filter references 153 declared in the view filter definition 150 can be variables in the view filter algorithm and each variable can only have a value that has been defined in the view filter definition 150. The view filter contains at least the following information, expressed as follows:
In this exemplary embodiment, the view_filter 155 parameter set contains the following:
The number_of_filter_entries 156 is an integer defining the number of text entities contained in the defined view filter.
The filter_entity 159 is a text string having the following possible values:
The viewer_display_descriptor (VDD) 180 parameter contains the definition of information that is to be displayed, if available and if possible, by the real_time Navigation Display Engine 1202 depicted in
As an example and not as a limitation, if the viewer display is to be configured as that shown in
Referring again to Table 1, the Display Information Array (DIA) 190 parameter set is an array of information used by the real_time Navigation Display Engine 1202 (see
In this exemplary embodiment, the parameters in the display_information_array 190 are defined as follows: The container type 193 parameter defines the type of display information container. In an exemplary embodiment, valid container types are: {diagonal, instance}.
The display_information_container_discriptor 194 parameter contains text which provides the display information. This descriptor comprises a set of pairs defining the configuration information which applies to a particular viewer, and contains at least the following information, expressed as follows:
Sorting Method for Creating and Managing Content Item Subset(s)
The present invention discloses a method of creating, modifying, and managing one or more subset(s) of content items for viewing, as available from a multi-dimensional media space of one or more media planes. Using the parameter sets previously specified and a defined sorting criteria, the disclosed method identifies one or more subset(s) of one or more content items which match, or otherwise conform to, the defined sorting criteria, so as to be “acceptable” for a viewer/user according to said sorting criteria and viewer's viewer configuration information 125. The disclosed method uses the content organizing aspects of the previously specified multi-dimensional information structure as depicted in the parameter definitions of Table 1, and one or more sorting algorithms to apply defined sorting criteria to the list of all content items in an applicable multi-dimensional media space. One exemplary embodiment of the sorting method comprises one or more sorting operations, with the type and number of sorting algorithms used in said sorting operations dependent on the complexity of the desired sort. According to the present invention, said one or more sorting operations may occur as a pre-processing operation (i.e. at any time in advance of viewer's content item selection) or as a real-time operation (i.e. at the time of viewer's content item selection).
Referring now to
The sorting criteria is defined as a set of content item characteristics expressed in the type and format of information contained in the aforementioned content item organizing parameter sets. The sorting criteria may be criteria defined by the user (e.g. viewer, listener, gamer) of multimedia content at the time of content item selection, as a real-time processing operation, or by the content creator (e.g., movie studio or tv producer), distributor (e.g. programming network), or delivering service provider (e.g. cable tv systems operator, satellite tv operator) as a pre-processing operation. Examples of sorting criteria which may be used in the present invention includes, but is not limited to, content item title, identification number, version, descriptive narrative, publication or release date, class and type, genre/subject matter, location, usage restrictions or entitlements, owner, provider, producer or author, actor or performer, time, day and duration of availability, appropriateness or other content rating, viewer demographics (such as gender, age, income level, ethnic background, interests), running time length, and file size of the content item. As one example and not as a limitation of the invention, the sorting criteria definition could be to sort content items by genre; and, as a result, using the present invention, a viewer could select a list of content items of genre types that said viewer would be interested in. As another example, the sorting criteria could be to sort content items by appropriateness of the content for a viewer of a particular age; and, as a result, only content items meeting the particular age appropriateness would be listed on the navigation display for selection by the viewer. These first two examples represent a sorting criteria applied in either a pre-processing or real-time processing sort operation. As yet another example, a sorting criteria could be defined as those content items to which a particular viewer's access is entitled (by virtue of paying a subscription or per-use fee). This last example represents a sorting criteria applied in a pre-processing sorting operation at the beginning, end or elsewhere in the multimedia content item distribution pipeline.
The sorting method disclosed by the present invention comprises one or more of a plurality of examination, comparison and other algorithms, from simple to complex, executed in one or more sorting operations, to apply the sorting criteria to the content items available from one or more media planes. An exemplary embodiment of the present invention comprises at least one algorithm executed in one or more sorting operations, with the number of sorting operations and the number of algorithms therein depending on the complexity (i.e. the number of parameters and their fields to be examined) of the sorting criteria and the sorted content items.
Generally, the basic operation of the one or more sorting algorithms includes, but is not limited to, searching a set of content items, examining at least the Content Descriptor 105 of each Content Instance 100 associated with each content item to be sorted, comparing the information contained in the Content Descriptor 105 with the sorting criteria information to determine whether there is a match with the sorting criteria, or that the information in the Content Descriptor 105 examined is within the bounds of the sorting criteria and that the particular content item is not otherwise eliminated by the sorting criteria information. However, the aforementioned basic operation represents the simplest algorithm, although in the present invention, the number and complexity of sorting algorithms may vary, thereby performing additional examination and comparison of information contained in the Content Descriptor 106 as well as one or more other fields in the hierarchial information structure disclosed herein. As one example and not as a limitation of the invention, a sorting algorithm may be as simple as examining and comparing one characterizing parameter and field of the Content Descriptor 105 such as the genre of content items with a list of genre desired by a viewer, or as complex as that required to examine and compare multiple fields of the Content Descriptor 105, perform a series of sorting operations based on how said fields compare to the sorting criteria, and then order the results of the sorting operations based on information retrieved from the Content Locator 106. Another example of when the number and complexity of sorting algorithms vary in the present invention occurs when multiple instances of the same content item must be searched and sorted. Since, as previously specified herein, a Content Instance 100 describes each location in one or more media planes where there exists a particular content item (for example, a particular movie title). This multiple instance situation requires that the particular content item be represented by more than one Content Instance 100, since the content item can be found in more than one location in the multi-dimensional media space (for example, multiple locations in one or more media planes). Therefore, according to the present invention, the number and complexity of algorithms varies to examine and compare all relevant Content Instances 100 in order to perform an adequate search and sort of available content items in one or more media planes (for example, media planes 202, 203, 204) of the multi-dimensional media space 201 shown in
As previously stated, the one or more sorting algorithms may be executed in either pre-processing or real-time sort operations, further described below.
Pre-Processing Sort Operation
Referring now to Table 1, and the logic flow diagram of
Referring again to
The view token definition 307 must include any content item that may be used in the sorting algorithm 420. Information fields contained in the view token 303 are the same fields used by the sort algorithm 420 to compare the same fields also found in the sort criteria. If a particular information field is not contained in the view token definition 307, it cannot be contained in the sort algorithm 420. As an example and not as a limitation, content items can be sorted using content class 110, content type 111, appropriateness 116, or usage descriptor 117 restrictions by examining the information in the content descriptors 105. One example of a sorting criteria definition would be to sort content items by genre 115 and by the appropriateness 116 of the content based on the viewer's age.
Referring again to
In steps 1010 through 1013 of the sort method 1000, either an existing content matrix 401 is processed or a new content matrix 401 is created by collecting a set of content diagonals 301 and assembling them into the content matrix 401 structure. Steps 1014 and 1015 of the sort method 1000 replace the sort algorithm locator 411 if the selected sort algorithm 420 is different from the sort algorithm 420 in the existing content matrix.
Referring now to
Next, referring again to
Continuing with reference to
Still referring to
Real-time Processing Sort Operation
Referring now to Table 1 and the logic flow diagram of
In an exemplary embodiment, the real-time Navigation Processing Engine (NPE) 1201 illustrated in
When a content matrix is received by the real-time Navigation Processing Engine 1201, said processing Engine (see
The initial steps of the real-time processing sort method 1100 generally comprise receiving the initial content matrix and applying a content matrix sort algorithm 420 to perform the content matrix modifications. The latter steps of the real-time processing sort method 1100 generally comprise transferring a content matrix, and creating an active content matrix. Steps for performing these aspects of the disclosed sort method 1100 are described in greater detail below.
The real-time processing sort method 1100 receives a content matrix sort algorithm 420 by first retrieving viewer's information, and if original content matrix 456 is acceptable for viewer, said viewer's id 128 is added to original viewer list. If any existing modified content matrices are acceptable for the viewer, said viewer's id 128 is added to the viewer list for the corresponding modified content matrix 457. Steps for performing these aspects of the disclosed sort method are described in greater detail below.
Referring first to
Steps 1104, 1105, 1106 of the real-time processing sort method 1100 comprises getting viewer information, determining if original content matrix 456 is acceptable for a viewer, adding viewer id 128 to original content matrix viewer list (OCMVL) 452.
Steps 1107 through 1115 of the real-time processing sort method 1100 comprises, for all applicable active viewers, determining if there are content matrix modifications and terminating the real-time processing sort operation if there isn't, checking existing content matrix modifications, determining if existing or any content matrix modifications are acceptable for the viewer, and if not, creating new content matrix modifications acceptable for the viewer, updating a Real-time Content Matrix Database entry upon completion of the foregoing steps for all applicable active viewers.
Following the foregoing steps 1107 through 1114 resulting in the creation of new content matrix modifications as necessary to achieve acceptability for an applicable active viewer, referring now to
Referring again to
Referring now to
Referring now to
Method of Displaying Content Items for Navigation
Activating Content Items for Display by Creating the Active Content Matrix:
Referring now to Table 1, to
Generally, the active content matrix sort algorithm 502, in the real-time processing sort method 1100, retrieves the active viewer's information, checks that the current content matrix 401 is acceptable for the viewer, and if so, makes said content matrix the Active Content Matrix 502. If not acceptable, then said active content matrix sort algorithm 502 checks if any corresponding modifications to the content matrix 401 are acceptable for the viewer. If the created original content matrix 456 or modified content matrix 457 remains unacceptable for the viewer, the active content matrix sort algorithm 502 gets the viewer to select a different content matrix 401. The active content matrix sort algorithm 502 then continues until a content matrix 401 acceptable for the viewer is determined, and this acceptable content matrix 401 is made the Active Content Matrix 501 to complete the process. The following reference to the figures and steps describes the active content matrix sort algorithm 502 in the real-time processing sort method 1100 in more detail.
Referring to
Referring now to
Generally, the Navigation Processing Engine 1201 compares the View Tokens 303 with the viewer configuration information 125. If the Navigation Processing Engine 1201 determines a View Token 303 acceptable as a result of said comparison, its associated content item remains in the Active Content Matrix 501. However, if the Navigation Processing Engine 1201 determines a View Token 303 unacceptable as a result of said comparison, it either eliminates the content item from the Active Content Matrix 501, or “blanks out” the display of said unacceptable content item even though the content item may still remain in the Active Content Matrix 501, or it initiates a search for a substitute acceptable content item to replace the unacceptable content item.
The real-time Navigation Processing Engine 1201 generates a set of “active” navigation information and communicates said active navigation information to the real-time Navigation Display Engine 1202. This information includes the Active Content Matrix 501 used to provide information to the viewer. There may be more than one Content Matrix 401 inputted to the real-time Navigation Processing Engine 1201. As one example, there may be a Content Matrix 401 for each possible user of a particular multimedia terminal device; but, only one Content Matrix 401would be displayed at any one time. If, for example, a particular viewer named “Bob” is registered as the “current viewer” using a particular multimedia terminal device, then the Content Matrix 401 appropriate or applicable to “Bob” will become the Active Content Matrix 501 communicated by the Navigation Processing Engine 1201 to the Navigation Display Engine 1202. Additionally, the real-time Navigation Processing Engine 1201 examines the Active Content Matrix 501 to determine whether any Content Diagonals 301 must be removed, “blanked out”, or replaced, as previously specified.
Still referring to
In addition to processing the Content Matrix 301 and the Content Diagonals 301, the Navigation Processing Engine 1201 extracts a set of “information requests” contained in the Viewer Configuration Information 125. In response to said requests, the NPE 1201 will comply by retrieving the requested information from the Content Instances 100 (e.g. Content Descriptors 105 and/or Content Locators 106), as appropriate, and communicate said retrieved information to the Navigation Display Engine 1201 in a set of Display Information Containers (DIC) 192, with at least one such DIC 192 communicated for each active Content Diagonal 301 and at least one such DIC 192 communicated for each active Content Instance 100. Content Diagonals 301 and/or Content Instances 100 that are likely to become active in the near future are communicated by the NPE 1201 as additional Display Information Containers 192 held in a queue in the Navigation Display Engine 1202.
Following its creation in the real-time Navigation Processing Engine (NPE) 1201 illustrated in
The active content matrix display algorithm 503 comprises steps 1148 through 1161, depicted in
Method of Displaying Navigation Windows
Attributing to the “user-friendliness” of navigating multimedia content items according to the present invention, the Navigation Display Engine 1202 illustrated in
Referring now to the Real-time Navigation Display 1300 layout depicted in
Referring again to
The at least one Active Diagonal Information Window 1302 contains information related to content items defined in the at least one Active Diagonal Window 1305. Said information is extracted from the Display Information Containers 192 for display.
The at least one Selected Item Information Window 1303 contains information related to the content item selected by the viewer and shown in the at least one Active Content Item Window 1301.
Diagonal Windows 1304 provide at least one of a plurality of graphical indices useful for the selection of content items. As previously specified, Content Diagonals 301 contain content items which share some common characteristic. As an example, referring now to
Method of Navigating Content Item Display Windows
Referring now to
The Diagonal Forward navigation function, as illustrated in
The Diagonal Reverse navigation function, as illustrated in
According to the present invention, the Active Content Matrix 501 may contain a large number of Content Diagonals 301 to define the subset(s) list(s) of the sorted content items. For example, in a Cable Television System media plane 203 with two-hundred channels, there may be two-hundred Content Diagonals 301 that are available at any particular time. These Content Diagonals 301 could be organized in an ordered set in the Active Content Matrix 501 (for example, channel 1 would be the first element in the ordered set of Cable Channel Content Diagonals 301, with channel 2 as the second element, and so on). Accordingly, in order to facilitate the navigation function among these Content Diagonals 301, the Diagonal Rotation Counterclockwise and the Diagonal Rotation Clockwise navigation functions according to the present invention can be utilized to navigate through large numbers of Content Diagonals 301 rapidly.
The Diagonal Rotation Counterclockwise navigation function, as illustrated in
In an exemplary embodiment of the present invention, shown in
The Content Diagonal 301 which is aligned on the lower right corner of the Navigation Display 1300 sloping downward from the center to the right is designated as the Current Root Content Diagonal 1320, with the nomenclature: view_con_dig_root.
The Content Diagonal 301 which is aligned on the lower left corner of the Navigation Display 1300 sloping downward from the center to the left is designated as the next ordered diagonal 1321, with the nomenclature: view_con_dig_root+1.
The Content Diagonal 301 which is aligned on the upper left corner of the Navigation Display 1300 sloping upward from the center to the left is designated as the next ordered diagonal 1322, with the nomenclature: view_con_dig_root+2.
The Content Diagonal 301 that is aligned on the upper right corner of the Navigation Display 1300 sloping upward from the center to the right is designated as the next ordered diagonal 1323, or view_con_dig_root+3.
Note that alternative embodiments may provide for any number, n, of content diagonals 301, to be displayed in the Navigation Display 1300 using the following nomenclature, or alternative nomenclatures, without departing from the spirit or scope of the invention:
When applied to the Diagonal Rotation Counterclockwise navigation function, a general object rotation function can be used to bring the “next” set of ordered Content Diagonal 301 onto the Navigation Display 1300 by rotating said Content Diagonals 301 counter-clockwise using the following:
The Diagonal Rotation Clockwise navigation function, as illustrated in
The Diagonal Forward View navigation function, as illustrated in
The Diagonal Reverse View navigation function, as illustrated in
The Select navigation function selects for viewing, the content item currently referenced in the content item list. Graphical, text, image or other forms of information about the selected content item appears in the at least one Selected Item Information Window 1303. The video or image content of the content item itself appears in the Active Content Item Window 1301.
The Guide navigation function causes the Navigation Display 1300 windows to appear on the display connected to the particular multimedia terminal device used by the viewer.
Each of the foregoing navigation functions is mapped to, and is invoked by depressing, one or more buttons on a remote control, keys on a wired or wireless keyboard, and/or button icons appearing on an on-screen display, depending on which type of the foregoing input devices is used with the particular multimedia terminal device.
In an exemplary embodiment of the present invention, possible assignments for buttons or keys typically found on a remote control device associated with cable tv set top boxes, satellite tv receivers, and television sets as multimedia terminal devices used by the viewer according to the present invention would be defined as follows. Alternative embodiments of the present invention may assign other navigation functions to other combinations of one or more buttons or keys on other input devices associated with other multimedia terminal devices without departing from the spirit and scope of the present invention.
The Diagonal Forward navigation function is invoked by depressing the “Up” button, key, or on-screen icon. The Diagonal Backward navigation function is invoked by depressing the “Down” button, key, or on-screen icon. The Diagonal Rotate Counterclockwise navigation function is invoked by depressing the “Left” button, key, or on-screen icon. The Diagonal Rotate Clockwise navigation function is invoked by depressing the “Right” button, key, or on-screen icon. The Forward View navigation function is invoked by depressing the “Page Up” button, key, or on-screen icon. The Backwards View navigation function is invoked by depressing the “Page Down” button, key, or on-screen icon. The Select navigation function is invoked by depressing the “Select” button, key, or on-screen icon. The Guide navigation function is invoked by depressing the “Guide On/Off” button, key, or on-screen icon
Distributed Processing Architecture of the NPE and the NDE
Referring again to
The NPE 1201 and the NDE 1202 each comprise one or more dedicated or shared interconnected processors, memory, storage, and input-output hardware components along with appropriate operating system, device driver, middleware, application or other firmware and software typical of electronic computing devices used in the field of the present invention.
Although all or part of the NPE 1201 and the NDE 1202 are typically, but not necessarily, resident in the multimedia terminal device, it should be noted that the present invention does not require that the NPE 1201 and NDE 1202 be co-located in the multimedia terminal device, nor elsewhere in the multimedia system or multimedia network. All or part of either of the two “engines” may be co-located or separated anywhere in a multimedia system or multimedia network, as well as in a multimedia terminal device, with said processing and execution operations being shared and distributed between them in any proportion and manner, and communication between them occurring within a single device or via the multimedia system or multimedia network.
While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it is evident and will be understood that many various omissions, substitutions, alternatives, modifications, variations, and changes in the form and details of the method, apparatus, process, or device illustrated may be apparent to and made by those skilled in the art without departing from the spirit and scope of the invention. The foregoing description is of the best mode presently contemplated or carrying out the invention. This description is in no way meant to be limiting, but rather is intended to and should be taken as illustrative of the general principles of the invention.
The present application claims priority benefit of U.S. provisional application Ser. No. 60/546,013 filed Feb. 19, 2004 and entitled “Method and Apparatus for Organizing, Sorting and Navigating Multimedia Content”, which is incorporated herein in its entirety. The present invention was not made by an agency of the United States Government or under a contract with an agency of the United States Government.
Number | Date | Country | |
---|---|---|---|
60546013 | Feb 2004 | US |