[go: up one dir, main page]

USRE47967E1 - Methods, devices, and mediums for generating a programming menu - Google Patents

Methods, devices, and mediums for generating a programming menu Download PDF

Info

Publication number
USRE47967E1
USRE47967E1 US15/400,621 US201715400621A USRE47967E US RE47967 E1 USRE47967 E1 US RE47967E1 US 201715400621 A US201715400621 A US 201715400621A US RE47967 E USRE47967 E US RE47967E
Authority
US
United States
Prior art keywords
media streams
processing device
programming menu
display
programming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US15/400,621
Inventor
Joon Maeng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intellectual Ventures Fund 79 LLC
Original Assignee
Intellectual Ventures Fund 79 LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intellectual Ventures Fund 79 LLC filed Critical Intellectual Ventures Fund 79 LLC
Priority to US15/400,621 priority Critical patent/USRE47967E1/en
Assigned to INTELLECTUAL VENTURES FUND 79 LLC reassignment INTELLECTUAL VENTURES FUND 79 LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MAENG, JOON
Application granted granted Critical
Publication of USRE47967E1 publication Critical patent/USRE47967E1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application

Definitions

  • a known system for displaying media content automatically may generate a general programming menu to inform users of all current and upcoming programming available from content providers.
  • One known programming menu may display an unsearchable scrolling table that includes text identifying programs and programming times.
  • Another known programming menu may display a searchable table that includes text identifying programs and programming times. Such known programming menus may be inaccurate or inefficient, or both.
  • FIG. 1 depicts an example of a system for generating a programming menu.
  • FIG. 2 depicts an example of a display for generating a programming menu.
  • FIG. 3 depicts another example of a display for generating a programming menu.
  • FIG. 4 depicts another example of a system for generating a programming menu.
  • FIG. 5 depicts an example of a device for generating a programming menu.
  • FIG. 6 depicts an example of a process for generating a programming menu.
  • FIG. 7 depicts another example of a process for generating a programming menu.
  • FIG. 8 depicts yet another example of a process for generating a programming menu.
  • a device for generating a programming menu receives user selections indicating a set of programs to be included in a programming menu. Such a programming menu may be accessed and modified by a user. In one example, the programming menu provides live and/or recorded previews of one or more included programs in various viewing modes. A user may select a particular program to view in full screen from the programming menu.
  • FIG. 1 depicts an example of a system 100 for generating a programming menu.
  • System 100 may provide media services from one or more content sources 160 to one or more media display devices, such as, for example, a television set 140 .
  • system 100 includes a head-end 110 , a network 120 , a set-top box 130 , television set 140 , and/or a remote communication device 150 , or the like, or any combination thereof.
  • set-top box 130 and television 140 may be a single device.
  • Head-end 110 may be a cable TV, a satellite, an Internet Protocol television (IPTV), a media distribution server, and/or another head-end for distributing media services. Head-end 110 may be configured to distribute one or more media streams 170 originating at one or more sources 160 to set-top box 130 via network 120 .
  • Network 120 may be wireless and/or wire-line media that provides one or more functional networks, such as, for example, a backbone, a local area network, a wide area network, a cable network, a satellite network, and/or the Internet, or the like, or any combination thereof.
  • set-top box 130 may receive an external signal, such as, for example, one or more media streams 170 , and process media streams 170 for display on television 140 and/or other display devices, such as, a personal computer (PC), a laptop computer, a mobile phone, a personal digital assistant (PDA), a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
  • an external signal such as, for example, one or more media streams 170
  • process media streams 170 for display on television 140 and/or other display devices, such as, a personal computer (PC), a laptop computer, a mobile phone, a personal digital assistant (PDA), a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
  • Set-top box 130 may send one or more media streams 170 to television set 140 for display.
  • set-top box 130 may serve as a digital video recording device.
  • Set-top box 130 may record and store one or more media streams 170 in a library 134 in any of a variety of storage mediums known to those of skill in the art for later display.
  • set-top box 130 may be configured to store a programming menu 190 in a database 136 in any of a variety of storage mediums known to those of skill in the art.
  • programming menu 190 may include a set of one or more channels, to be displayed for channel selection and/or programming set-top box 130 .
  • Particular channels may be included in the set of one or more channels based on a variety of criteria, including manual inclusion by a user and/or inclusion based on one or more channel selection algorithms executable by one or more processors, or any combinations thereof.
  • remote 150 may send control commands to set-top box 130 wirelessly to operate set-top box 130 .
  • Set-top box 130 may comprise a control panel 132 for receiving user inputs and may be operated by control buttons on control panel 132 .
  • Television 140 may comprise a control panel 145 for receiving user inputs and may be operated by control buttons on control panel 145 .
  • Television 140 may send control commands to set-top box 130 wirelessly and/or via a wire-line connection to operate set-top box 130 .
  • a programming menu 190 may be accessed via remote control 150 , set-box 130 and/or television 140 .
  • other devices may access programming menu 190 , such as, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
  • programming menu 190 may be accessed from database 136 at set-top box 130 . Responsive to such access, set-top box 130 may send a request 180 to head-end 110 for one or more media streams 170 .
  • Request 180 may identify channels identified in programming menu 190 .
  • Media streams 170 may each correspond to a channel identified in the request.
  • set-top box 130 may receive and process media streams 170 from head-end 110 via network 120 .
  • Set-top box 130 may forward programming menu 190 to television 140 for display, and programming menu 190 may include at least one image from one or more of media streams 170 .
  • programming menu 190 may be sent to other devices for display, including, for instance, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
  • programming menu 190 may include at least one image from one or more of media streams 170 and at least one image from a media stream stored in library 134 .
  • a user may select a channel and/or stored digital media to view from programming menu 190 displayed on television 140 and/or other display device.
  • a user selection may be communicated to set-top box 130 via remote 150 , control panel 132 , control panel 145 , and/or any other suitable communication device. Responsive to channel and/or digital media selection, set-top box 130 may send a particular media stream 195 to television 140 for display.
  • FIG. 2 depicts an example of a programming menu 190 .
  • Programming menu 190 may be presented in a table view on television 140 .
  • programming menu 190 may display a programming menu name 210 , such as “Joon's Programs.”
  • programming menu 190 may comprise several fields and/or cells arranged in a grid.
  • Programming menu 190 may comprise a list of channels in column 220 . Channels listed may include all available channels, channels selected by a user and/or channels selected by an algorithm for channel selection implemented in one or more processors, or the like, or any combination thereof.
  • program times may be listed in top row 280 .
  • Program data 234 and/or at least one image 232 from a media stream selected from one or more multiplexed media streams 170 may be displayed in field 230 .
  • field 230 may map to channel 5 and show time 7:00 pm and display image 232 corresponding to channel 5 and show time 7:00 pm.
  • Program data 234 may include a variety of information.
  • program data 234 may correspond to an associated channel, a user's personal information, a media stream associated with image 232 , or the like, or any combination thereof.
  • Program data 234 may comprise a program name, associated actors, a release date, a rating, a review, recommendations and/or the like, or any combination thereof.
  • Program data 234 also may include commercial data and/or data related to advertising.
  • image 232 may comprise a display of a single image from an associated media stream or may comprise a display streaming a plurality of images from an associated media stream playing out.
  • one or more fields 240 , 242 , 244 , 246 and 248 in column 280 may be populated with program data and/or at least one image associated with a respective media stream selected from one or more media streams 170 .
  • Media streams 170 may be sent from a head-end 110 during designated program times. Additional media streams may be retrieved from memory in library 134 for inclusion in programming menu 190 .
  • Media streams included in programming menu 190 from library 134 may be indicated in the table, such as by showing selections available in a Digital Video Recording (DVR) row identified in field 248 .
  • DVR Digital Video Recording
  • Programming menu 190 may comprise one or more selectable buttons including a view button 250 for changing the view to a different display type, a stored programming menu selector button 260 for selecting other stored programming menus, a general programming menu 190 for listing all available programs including at least programs available from head-end 110 and stored in library 134 .
  • Selection of view button 250 may change the way programming menu 190 is presented, such as, to a mosaic view (described further with respect to FIG. 3 ).
  • Selection of a programming menu selector button 260 may display a different programming menu, such as, “Kim's Programming Menu.”
  • users may customize programming menu 190 by selecting channels that may be displayed upon selection of general programming menu selector button 270 .
  • a user may save selected channels and assign selected channels to programming menu 190 , another pre-existing programming menu, such as “Kim's Programming Menu” and/or save selected channels in a new programming menu, or the like, or any combination thereof.
  • Users may edit programming menu 190 at any time.
  • a user may select a program for viewing by selecting a field, for instance, by selecting field 230 to view “The Weather” playing on channel 5.
  • Programming menu 190 may display a selected program in a preview window 236 .
  • set-top box 130 may replace programming menu 190 with a full screen display of image 232 for viewing on a display device, such as television 140 .
  • At least one image 232 may be refreshed at a pre-determined interval.
  • a refresh rate of images in table view may be determined by network metrics, such as quality of service, bandwidth, congestion, speed and/or security protocols, and the like, or any combination thereof.
  • at least one image in programming menu 190 may be updated in real-time and displayed as a moving image.
  • FIG. 3 depicts an example of a display for generating a programming menu 190 .
  • Programming menu 190 may be sent from set-top box 130 to television 140 for display in a mosaic mode.
  • mosaic mode may comprise a pre-determined number of thumbnail windows.
  • programming menu 190 may include nine thumbnail windows. However, any number of thumbnail windows may be displayed. Thumbnail windows in programming menu 190 may correspond to a channel identified in programming menu 190 and/or media retrieved from library 134 .
  • Channels identified in programming menu 190 may include all available channels, channels selected by a user and/or channels selected by an algorithm for channel selection implemented in one or more processors, and the like, or any combination thereof.
  • thumbnail windows may display at least one image from a media stream selected from one or more multiplexed media streams 170 and/or retrieved media wherein each of the at least one images corresponds to a channel associated with a thumbnail window.
  • program days, dates and/or times may be identified in legend 350 .
  • Program data 380 and/or at least one image 340 of an associated media stream selected from media streams 170 may be displayed in thumbnail window 310 .
  • Program data 380 may include a variety of information.
  • program data 380 may correspond to image 340 describing a corresponding program name, a channel, associated actors, a release date, a rating, a review, and/or the like, or any combination thereof.
  • Program data 380 may also include commercial data and/or data related to advertising. In one example, such commercial and advertising data may correspond to image 340 .
  • image 340 may comprise a display of a single image from an associated media stream or may comprise a streaming display of a plurality of images from an associated media stream playing out.
  • one or more thumbnail windows 310 , 320 and 330 may be populated with program data and at least one image associated with a respective media stream selected from one or more media streams 170 and/or retrieved from library 134 .
  • Programming menu 190 may comprise one or more selectable electronic buttons including a list view button 355 for changing the view to a different display type, a programming menu selector button 360 for selecting other stored programming menus (e.g., “Kim's List”) and/or a general programming menu button 365 for listing all available programs.
  • a selection of view button 355 may change the way programming menu 190 is presented, such as, to a table view.
  • Selection of a programming menu selector button 360 may display a different programming menu, such as, “Kim's List.”
  • users may customize programming menu 190 by selecting channels and/or recorded programs that are to be displayed upon selection of general programming menu button 365 .
  • a user may save selected channels and assign selected channels to programming menu 190 , a different pre-existing programming menu, such as “Kim's List” and/or save selected channels in a new programming menu, or the like, or any combination thereof.
  • Users may edit programming menu 190 at any time. When a mosaic view cannot display all the programs in programming guide 190 at once, programming guide 190 may be displayed in multiple pages. Users may move to a next set of thumbnail images or a previous set of thumbnail images by selecting left or right arrow 370 .
  • a user may select a program for viewing by selecting a particular thumbnail, for instance, by selecting thumbnail 310 to view “The Weather” currently playing on channel 4.
  • Programming menu 190 may display a selected program in a preview window 380 .
  • set-top box 130 may replace programming menu 190 with a full screen display of image 340 for viewing on any appropriate display device, such as a television 140 .
  • At least one image 340 may be refreshed at a pre-determined interval.
  • a refresh rate of images in mosaic view may be determined by network metrics, such as quality of service, bandwidth, congestion, speed and/or security protocols, and the like, or any combination thereof.
  • at least one thumbnail image (e.g., image 340 ) in programming menu 190 may be updated in real-time and displayed as a moving image.
  • FIG. 4 depicts an example of a system for generating a programming menu 190 .
  • head-end 110 may transmit multiplexed media stream 170 to set-top box 130 and/or other devices for processing and distributing media content.
  • a multiplexed portion 400 of multiplexed media stream 170 may comprise a portion of each media stream associated with corresponding channels identified in programming menu 190 .
  • channels 10 , 11 , 12 , 13 , 14 , 15 and 16 may be identified in programming menu 190 .
  • Images 410 , 411 , 412 , 413 , 414 , 415 and 416 each may comprise a portion of media streams associated with respective ones of channels 10 , 11 , 12 , 13 , 14 , 15 and 16 .
  • set-top box 130 may request head-end 110 to terminate transmission of multiplexed media stream 170 and further request that head-end 110 transmit a corresponding media stream continuously.
  • a user may terminate continuous streaming and request a programming menu 190 at selection request point 418 . Thereafter, head-end 110 may resume sending multiplexed media stream 170 .
  • FIG. 5 depicts an example of a device for generating a programming menu 190 .
  • set-top box 130 may comprise network interface 510 , processor 520 , display interface 530 , remote interface 540 , and memory 550 .
  • network interface 510 may interface with the network 120 .
  • Processor 520 may control network interface 510 , processor 520 , display interface 530 , remote interface 540 , and memory 550 .
  • Display interface 530 may interface with a display device such as television 140 , a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof.
  • Remote interface 540 may communicate with remote device 150 .
  • Memory 550 may be volatile and/or non-volatile devices that store programs, commands, and program contents. Memory 550 may store data for database 136 and/or library 134 , or the like, or any combination thereof.
  • FIG. 6 depicts an example of a process 600 for generating programming menu 190 (see also FIG. 1 ).
  • process 600 begins at operation 602 where a processing device may receive a request for programming menu 190 including a programming menu identifier for identifying programming menu 190 .
  • Programming menu 190 may be associated with a programming menu identifier.
  • Such a request may comprise a user input communicated from remote 150 .
  • a user may select and/or request programming menu 190 from a different device configured to communicate with set-top box 130 and/or head-end 110 .
  • a user may input a programming menu selection directly into set-top box 130 via control panel 132 .
  • the processing device may access programming menu 190 to determine channels and/or stored media corresponding to programming menu 190 .
  • programming menu 190 may be stored in a database 136 associated with set-top box 130 .
  • programming menu 190 may be retrieved from memory in a different device, such as, any of a variety of network devices, such as, for example, head-end 110 , television 140 , remote 150 , a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof.
  • the processing device may request one or more media streams from head-end 110 responsive to receiving a programming menu 190 selection.
  • one or more requested media streams may correspond to channels identified in programming menu 190 .
  • the processing device may receive multiplexed media stream 170 comprising a plurality of media streams multiplexed together. Multiplexed media stream 170 may be sent from head-end 110 .
  • the processing device may demultiplex multiplexed media stream 170 .
  • the processing device may associate each of a plurality of channel identifiers with one of a plurality of media streams selected from multiplexed media stream 170 . Associations may be stored in memory in database 136 . In some examples, such associations may be stored in a variety of data structures, such as, for instance, in a table, a tree and/or a linked list, or the like, or any combination thereof.
  • the processing device may prompt a display of programming menu 190 comprising a concurrent presentation of each of the plurality of channel identifiers and at least one image from each of the associated media streams and/or stored media corresponding to programming menu 190 .
  • the display of programming menu 190 may be in a table view. Such a table view may comprise a grid for mapping each channel identifier and/or stored media identifier to at least one image from one associated media stream and/or a programming time.
  • the display of programming menu 190 may be in a mosaic view comprising a predetermined number of windows inset within programming menu 190 , wherein each inset window presents one channel identifier and at least one image from each associated media stream and/or at least one image from an indicated stored media stream and a corresponding stored media indentifier (e.g., a notation that a displayed media stream is available on DVR).
  • each inset window presents one channel identifier and at least one image from each associated media stream and/or at least one image from an indicated stored media stream and a corresponding stored media indentifier (e.g., a notation that a displayed media stream is available on DVR).
  • the processing device may receive a request selecting a particular channel identifier of the plurality of channel identifiers and/or stored media.
  • the request may be a user input communicated from remote 150 .
  • the user may select and/or request the particular channel identifier.
  • Such a request may be received from any device configured to communicate with the processing device, such as set-top box 130 , head-end 110 , a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, a network server, or the like, or any combination thereof.
  • the processing device may send a request to head-end 110 to terminate sending the multiplexed media stream.
  • the processing device may terminate display of programming menu 190 and display a media stream associated with a selected channel and/or stored media.
  • FIG. 7 depicts an example of a process 700 for generating programming menu 190 (see also FIG. 1 ).
  • process 700 begins at operation 702 where a processing device may prompt a display of a programming menu 190 .
  • a display may comprise a concurrent presentation of each of a plurality of channel identifiers and at least one image from one of a plurality of media streams received in multiplexed form.
  • a display may comprise a concurrent presentation of each of a plurality of channel identifiers and at least one image from one of a plurality of media streams received in multiplexed form and/or at least one image from stored media and an associated stored media identifier.
  • the processing device may receive a request for display of a particular channel and/or stored media.
  • a user may select such a particular channel and/or stored media from the programming menu 190 for review.
  • Such a request may be received from any of a variety of devices configured to communicate with the processing device, such as, for example, head-end 110 , television 140 , remote 150 , set-top box 130 , a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof.
  • the processing device may display a media stream associated with a requested channel and/or stored media in a pop-up window overlayed on programming menu 190 .
  • the processing device may terminate display of programming menu 190 .
  • the processing device may replace the display of programming menu 190 with a full screen display of a media stream associated with the selected channel.
  • FIG. 8 depicts an example of a process 800 for generating programming menu 190 (see also FIG. 1 ).
  • process 800 begins at operation 802 where a head-end device 110 may receive a request for a plurality of media streams associated with a programming menu 190 .
  • the programming menu 190 may be for associating each of a plurality of channel identifiers with a respective one of the plurality of media streams.
  • the processing device may format the plurality of media streams for a concurrent presentation of each of the plurality of channel identifiers and at least one image from each the associated media streams.
  • the processing device may multiplex the plurality of media streams forming a multiplexed media stream 170 .
  • the processing device may transmit the multiplexed media stream 170 to set-top box 130 .
  • the processing device may receive a request for a particular media stream of the plurality of media streams.
  • the processing device may terminate transmitting of the multiplexed media stream 170 .
  • the processing device may transmit the particular media stream.
  • the system and apparatus described above may use dedicated processor systems, micro controllers, programmable logic devices, microprocessors, or the like, or any combination thereof, to perform some or all of the operations described herein. Some of the operations described above may be implemented in software and other operations may be implemented in hardware. One or more of the operations, processes, and/or methods described herein may be performed by an apparatus, a device, and/or a system substantially similar to those as described herein and with reference to the illustrated figures.
  • the processing device may execute instructions or “code” stored in memory.
  • the memory may store data as well.
  • the processing device may include, but may not be limited to, an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, or the like.
  • the processing device may be part of an integrated control system or system manager, or may be provided as a portable electronic device configured to interface with a networked system either locally or remotely via wireless transmission.
  • the processor memory may be integrated together with the processing device, for example RAM or FLASH memory disposed within an integrated circuit microprocessor or the like.
  • the memory may comprise an independent device, such as an external disk drive, a storage array, a portable FLASH key fob, or the like.
  • the memory and processing device may be operatively coupled together, or in communication with each other, for example by an I/O port, a network connection, or the like, and the processing device may read a file stored on the memory.
  • Associated memory may be “read only” by design (ROM) by virtue of permission settings, or not.
  • Other examples of memory may include, but may not be limited to, WORM, EPROM, EEPROM, FLASH, or the like, which may be implemented in solid state semiconductor devices.
  • Other memories may comprise moving parts, such as a conventional rotating disk drive. All such memories may be “machine-readable” and may be readable by a processing device.
  • Computer-readable storage medium may include all of the foregoing types of memory, as well as new technologies of the future, as long as the memory may be capable of storing digital information in the nature of a computer program or other data, at least temporarily, and as long at the stored information may be “read” by an appropriate processing device.
  • the term “computer-readable” may not be limited to the historical usage of “computer” to imply a complete mainframe, mini-computer, desktop or even laptop computer.
  • “computer-readable” may comprise storage medium that may be readable by a processor, a processing device, or any computing system. Such media may be any available media that may be locally and/or remotely accessible by a computer or a processor, and may include volatile and non-volatile media, and removable and non-removable media, or the like, or any combination thereof.
  • a program stored in a computer-readable storage medium may comprise a computer program product.
  • a storage medium may be used as a convenient means to store or transport a computer program.
  • the operations may be described as various interconnected or coupled functional blocks or diagrams. However, there may be cases where these functional blocks or diagrams may be equivalently aggregated into a single logic device, program or operation with unclear boundaries.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Associating each of a plurality of identifiers with a respective one of a plurality of media streams and prompting a concurrent presentation of each of the plurality of identifiers and at least one image from each of the associated media streams in a display of a programming menu.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is a broadening reissue of U.S. application Ser. No. 13/172,574, filed on Jun. 29, 2011, now U.S. Pat. No. 8,930,999, issued on Jan. 6, 2015.
BACKGROUND
A known system for displaying media content automatically may generate a general programming menu to inform users of all current and upcoming programming available from content providers. One known programming menu may display an unsearchable scrolling table that includes text identifying programs and programming times. Another known programming menu may display a searchable table that includes text identifying programs and programming times. Such known programming menus may be inaccurate or inefficient, or both.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an example of a system for generating a programming menu.
FIG. 2 depicts an example of a display for generating a programming menu.
FIG. 3 depicts another example of a display for generating a programming menu.
FIG. 4 depicts another example of a system for generating a programming menu.
FIG. 5 depicts an example of a device for generating a programming menu.
FIG. 6 depicts an example of a process for generating a programming menu.
FIG. 7 depicts another example of a process for generating a programming menu.
FIG. 8 depicts yet another example of a process for generating a programming menu.
DETAILED DESCRIPTION
In an example, a device for generating a programming menu receives user selections indicating a set of programs to be included in a programming menu. Such a programming menu may be accessed and modified by a user. In one example, the programming menu provides live and/or recorded previews of one or more included programs in various viewing modes. A user may select a particular program to view in full screen from the programming menu.
FIG. 1 depicts an example of a system 100 for generating a programming menu. System 100 may provide media services from one or more content sources 160 to one or more media display devices, such as, for example, a television set 140. In one example, system 100 includes a head-end 110, a network 120, a set-top box 130, television set 140, and/or a remote communication device 150, or the like, or any combination thereof. For instance, in one example, set-top box 130 and television 140 may be a single device.
Head-end 110 may be a cable TV, a satellite, an Internet Protocol television (IPTV), a media distribution server, and/or another head-end for distributing media services. Head-end 110 may be configured to distribute one or more media streams 170 originating at one or more sources 160 to set-top box 130 via network 120. Network 120 may be wireless and/or wire-line media that provides one or more functional networks, such as, for example, a backbone, a local area network, a wide area network, a cable network, a satellite network, and/or the Internet, or the like, or any combination thereof.
In one example, set-top box 130 may receive an external signal, such as, for example, one or more media streams 170, and process media streams 170 for display on television 140 and/or other display devices, such as, a personal computer (PC), a laptop computer, a mobile phone, a personal digital assistant (PDA), a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
Set-top box 130 may send one or more media streams 170 to television set 140 for display. In some examples, set-top box 130 may serve as a digital video recording device. Set-top box 130 may record and store one or more media streams 170 in a library 134 in any of a variety of storage mediums known to those of skill in the art for later display. In one example, set-top box 130 may be configured to store a programming menu 190 in a database 136 in any of a variety of storage mediums known to those of skill in the art.
In one example, programming menu 190 may include a set of one or more channels, to be displayed for channel selection and/or programming set-top box 130. Particular channels may be included in the set of one or more channels based on a variety of criteria, including manual inclusion by a user and/or inclusion based on one or more channel selection algorithms executable by one or more processors, or any combinations thereof.
In one example, remote 150 may send control commands to set-top box 130 wirelessly to operate set-top box 130. Set-top box 130 may comprise a control panel 132 for receiving user inputs and may be operated by control buttons on control panel 132. Television 140 may comprise a control panel 145 for receiving user inputs and may be operated by control buttons on control panel 145. Television 140 may send control commands to set-top box 130 wirelessly and/or via a wire-line connection to operate set-top box 130.
In one example, a programming menu 190 may be accessed via remote control 150, set-box 130 and/or television 140. In addition or alternatively, other devices may access programming menu 190, such as, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
In one example, programming menu 190 may be accessed from database 136 at set-top box 130. Responsive to such access, set-top box 130 may send a request 180 to head-end 110 for one or more media streams 170. Request 180 may identify channels identified in programming menu 190. Media streams 170 may each correspond to a channel identified in the request.
In one example, set-top box 130 may receive and process media streams 170 from head-end 110 via network 120. Set-top box 130 may forward programming menu 190 to television 140 for display, and programming menu 190 may include at least one image from one or more of media streams 170. Alternately and/or additionally, programming menu 190 may be sent to other devices for display, including, for instance, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook and/or an electronic reader, or the like, or any combination thereof.
In an another example, programming menu 190 may include at least one image from one or more of media streams 170 and at least one image from a media stream stored in library 134. In one example, a user may select a channel and/or stored digital media to view from programming menu 190 displayed on television 140 and/or other display device. A user selection may be communicated to set-top box 130 via remote 150, control panel 132, control panel 145, and/or any other suitable communication device. Responsive to channel and/or digital media selection, set-top box 130 may send a particular media stream 195 to television 140 for display.
FIG. 2 depicts an example of a programming menu 190. Programming menu 190 may be presented in a table view on television 140. In one example, programming menu 190 may display a programming menu name 210, such as “Joon's Programs.” In one example, programming menu 190 may comprise several fields and/or cells arranged in a grid. Programming menu 190 may comprise a list of channels in column 220. Channels listed may include all available channels, channels selected by a user and/or channels selected by an algorithm for channel selection implemented in one or more processors, or the like, or any combination thereof.
In one example, program times may be listed in top row 280. Program data 234 and/or at least one image 232 from a media stream selected from one or more multiplexed media streams 170 may be displayed in field 230. In one example, field 230 may map to channel 5 and show time 7:00 pm and display image 232 corresponding to channel 5 and show time 7:00 pm.
Program data 234 may include a variety of information. In some examples, program data 234 may correspond to an associated channel, a user's personal information, a media stream associated with image 232, or the like, or any combination thereof. Program data 234 may comprise a program name, associated actors, a release date, a rating, a review, recommendations and/or the like, or any combination thereof. Program data 234 also may include commercial data and/or data related to advertising.
In one example, image 232 may comprise a display of a single image from an associated media stream or may comprise a display streaming a plurality of images from an associated media stream playing out. In one example, one or more fields 240, 242, 244, 246 and 248 in column 280 may be populated with program data and/or at least one image associated with a respective media stream selected from one or more media streams 170. Media streams 170 may be sent from a head-end 110 during designated program times. Additional media streams may be retrieved from memory in library 134 for inclusion in programming menu 190. Media streams included in programming menu 190 from library 134 may be indicated in the table, such as by showing selections available in a Digital Video Recording (DVR) row identified in field 248.
Programming menu 190 may comprise one or more selectable buttons including a view button 250 for changing the view to a different display type, a stored programming menu selector button 260 for selecting other stored programming menus, a general programming menu 190 for listing all available programs including at least programs available from head-end 110 and stored in library 134. Selection of view button 250 may change the way programming menu 190 is presented, such as, to a mosaic view (described further with respect to FIG. 3). Selection of a programming menu selector button 260 may display a different programming menu, such as, “Kim's Programming Menu.”
In one example, users may customize programming menu 190 by selecting channels that may be displayed upon selection of general programming menu selector button 270. A user may save selected channels and assign selected channels to programming menu 190, another pre-existing programming menu, such as “Kim's Programming Menu” and/or save selected channels in a new programming menu, or the like, or any combination thereof. Users may edit programming menu 190 at any time.
In one example, a user may select a program for viewing by selecting a field, for instance, by selecting field 230 to view “The Weather” playing on channel 5. Programming menu 190 may display a selected program in a preview window 236. When a user selects field 230 and/or preview window 236, set-top box 130 may replace programming menu 190 with a full screen display of image 232 for viewing on a display device, such as television 140.
In programming menu 190, at least one image 232 may be refreshed at a pre-determined interval. A refresh rate of images in table view may be determined by network metrics, such as quality of service, bandwidth, congestion, speed and/or security protocols, and the like, or any combination thereof. In one example, at least one image in programming menu 190 may be updated in real-time and displayed as a moving image.
FIG. 3 depicts an example of a display for generating a programming menu 190. Programming menu 190 may be sent from set-top box 130 to television 140 for display in a mosaic mode. In one example, mosaic mode may comprise a pre-determined number of thumbnail windows. In a representative example, programming menu 190 may include nine thumbnail windows. However, any number of thumbnail windows may be displayed. Thumbnail windows in programming menu 190 may correspond to a channel identified in programming menu 190 and/or media retrieved from library 134.
Channels identified in programming menu 190 may include all available channels, channels selected by a user and/or channels selected by an algorithm for channel selection implemented in one or more processors, and the like, or any combination thereof. In one example, thumbnail windows may display at least one image from a media stream selected from one or more multiplexed media streams 170 and/or retrieved media wherein each of the at least one images corresponds to a channel associated with a thumbnail window.
In one example, program days, dates and/or times may be identified in legend 350. Program data 380 and/or at least one image 340 of an associated media stream selected from media streams 170 may be displayed in thumbnail window 310. Program data 380 may include a variety of information. In some examples, program data 380 may correspond to image 340 describing a corresponding program name, a channel, associated actors, a release date, a rating, a review, and/or the like, or any combination thereof. Program data 380 may also include commercial data and/or data related to advertising. In one example, such commercial and advertising data may correspond to image 340.
In one example, image 340 may comprise a display of a single image from an associated media stream or may comprise a streaming display of a plurality of images from an associated media stream playing out. In one example, one or more thumbnail windows 310, 320 and 330 may be populated with program data and at least one image associated with a respective media stream selected from one or more media streams 170 and/or retrieved from library 134.
Programming menu 190 may comprise one or more selectable electronic buttons including a list view button 355 for changing the view to a different display type, a programming menu selector button 360 for selecting other stored programming menus (e.g., “Kim's List”) and/or a general programming menu button 365 for listing all available programs. A selection of view button 355 may change the way programming menu 190 is presented, such as, to a table view. Selection of a programming menu selector button 360 may display a different programming menu, such as, “Kim's List.” In one example, users may customize programming menu 190 by selecting channels and/or recorded programs that are to be displayed upon selection of general programming menu button 365. A user may save selected channels and assign selected channels to programming menu 190, a different pre-existing programming menu, such as “Kim's List” and/or save selected channels in a new programming menu, or the like, or any combination thereof. Users may edit programming menu 190 at any time. When a mosaic view cannot display all the programs in programming guide 190 at once, programming guide 190 may be displayed in multiple pages. Users may move to a next set of thumbnail images or a previous set of thumbnail images by selecting left or right arrow 370.
In one example, a user may select a program for viewing by selecting a particular thumbnail, for instance, by selecting thumbnail 310 to view “The Weather” currently playing on channel 4. Programming menu 190 may display a selected program in a preview window 380. When a user selects thumbnail 310 and/or preview window 380, set-top box 130 may replace programming menu 190 with a full screen display of image 340 for viewing on any appropriate display device, such as a television 140.
In programming menu 190, at least one image 340 may be refreshed at a pre-determined interval. A refresh rate of images in mosaic view may be determined by network metrics, such as quality of service, bandwidth, congestion, speed and/or security protocols, and the like, or any combination thereof. In one example, at least one thumbnail image (e.g., image 340) in programming menu 190 may be updated in real-time and displayed as a moving image.
FIG. 4 depicts an example of a system for generating a programming menu 190. In an illustrated example, head-end 110 may transmit multiplexed media stream 170 to set-top box 130 and/or other devices for processing and distributing media content. A multiplexed portion 400 of multiplexed media stream 170 may comprise a portion of each media stream associated with corresponding channels identified in programming menu 190. For instance, channels 10, 11, 12, 13, 14, 15 and 16 may be identified in programming menu 190. Images 410, 411, 412, 413, 414, 415 and 416 each may comprise a portion of media streams associated with respective ones of channels 10, 11, 12, 13, 14, 15 and 16.
When a user selects image 414 by sending a selection request at point 417, set-top box 130 may request head-end 110 to terminate transmission of multiplexed media stream 170 and further request that head-end 110 transmit a corresponding media stream continuously. In one example, a user may terminate continuous streaming and request a programming menu 190 at selection request point 418. Thereafter, head-end 110 may resume sending multiplexed media stream 170.
FIG. 5 depicts an example of a device for generating a programming menu 190. As illustrated, set-top box 130 may comprise network interface 510, processor 520, display interface 530, remote interface 540, and memory 550. In one example, network interface 510 may interface with the network 120. Processor 520 may control network interface 510, processor 520, display interface 530, remote interface 540, and memory 550. Display interface 530 may interface with a display device such as television 140, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof. Remote interface 540 may communicate with remote device 150. Memory 550 may be volatile and/or non-volatile devices that store programs, commands, and program contents. Memory 550 may store data for database 136 and/or library 134, or the like, or any combination thereof.
FIG. 6 depicts an example of a process 600 for generating programming menu 190 (see also FIG. 1). In one example, process 600 begins at operation 602 where a processing device may receive a request for programming menu 190 including a programming menu identifier for identifying programming menu 190. Programming menu 190 may be associated with a programming menu identifier. Such a request may comprise a user input communicated from remote 150. In another example, a user may select and/or request programming menu 190 from a different device configured to communicate with set-top box 130 and/or head-end 110. Alternatively, a user may input a programming menu selection directly into set-top box 130 via control panel 132.
In operation 604, the processing device may access programming menu 190 to determine channels and/or stored media corresponding to programming menu 190. In one example, programming menu 190 may be stored in a database 136 associated with set-top box 130. Alternatively, in other examples, programming menu 190 may be retrieved from memory in a different device, such as, any of a variety of network devices, such as, for example, head-end 110, television 140, remote 150, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof.
In operation 606, the processing device may request one or more media streams from head-end 110 responsive to receiving a programming menu 190 selection. In one example, one or more requested media streams may correspond to channels identified in programming menu 190. In operation 608, in response to such a request for one or more media streams, the processing device may receive multiplexed media stream 170 comprising a plurality of media streams multiplexed together. Multiplexed media stream 170 may be sent from head-end 110.
In operation 610, the processing device may demultiplex multiplexed media stream 170. In operation 612, the processing device may associate each of a plurality of channel identifiers with one of a plurality of media streams selected from multiplexed media stream 170. Associations may be stored in memory in database 136. In some examples, such associations may be stored in a variety of data structures, such as, for instance, in a table, a tree and/or a linked list, or the like, or any combination thereof.
In operation 614, the processing device may prompt a display of programming menu 190 comprising a concurrent presentation of each of the plurality of channel identifiers and at least one image from each of the associated media streams and/or stored media corresponding to programming menu 190. In one example, the display of programming menu 190 may be in a table view. Such a table view may comprise a grid for mapping each channel identifier and/or stored media identifier to at least one image from one associated media stream and/or a programming time.
In another example, the display of programming menu 190 may be in a mosaic view comprising a predetermined number of windows inset within programming menu 190, wherein each inset window presents one channel identifier and at least one image from each associated media stream and/or at least one image from an indicated stored media stream and a corresponding stored media indentifier (e.g., a notation that a displayed media stream is available on DVR).
In operation 616, the processing device may receive a request selecting a particular channel identifier of the plurality of channel identifiers and/or stored media. The request may be a user input communicated from remote 150. In another example, the user may select and/or request the particular channel identifier. Such a request may be received from any device configured to communicate with the processing device, such as set-top box 130, head-end 110, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, a network server, or the like, or any combination thereof.
In operation 618, responsive to the request selecting the particular channel identifier, the processing device may send a request to head-end 110 to terminate sending the multiplexed media stream. In operation 620, the processing device may terminate display of programming menu 190 and display a media stream associated with a selected channel and/or stored media.
FIG. 7 depicts an example of a process 700 for generating programming menu 190 (see also FIG. 1). In one example, process 700 begins at operation 702 where a processing device may prompt a display of a programming menu 190. Such a display may comprise a concurrent presentation of each of a plurality of channel identifiers and at least one image from one of a plurality of media streams received in multiplexed form.
In one example, a display may comprise a concurrent presentation of each of a plurality of channel identifiers and at least one image from one of a plurality of media streams received in multiplexed form and/or at least one image from stored media and an associated stored media identifier.
In operation 704, the processing device may receive a request for display of a particular channel and/or stored media. In one example, a user may select such a particular channel and/or stored media from the programming menu 190 for review. Such a request may be received from any of a variety of devices configured to communicate with the processing device, such as, for example, head-end 110, television 140, remote 150, set-top box 130, a PC, a laptop computer, a mobile phone, a PDA, a computer terminal, an electronic notebook, an electronic reader, or the like, or any combination thereof.
In operation 706, responsive to the requesting display of a particular channel and/or stored media, the processing device may display a media stream associated with a requested channel and/or stored media in a pop-up window overlayed on programming menu 190. In operation 708, responsive to a user input indicating a selection of the particular channel and/or stored media, the processing device may terminate display of programming menu 190. At operation 710, the processing device may replace the display of programming menu 190 with a full screen display of a media stream associated with the selected channel.
FIG. 8 depicts an example of a process 800 for generating programming menu 190 (see also FIG. 1). In one example, process 800 begins at operation 802 where a head-end device 110 may receive a request for a plurality of media streams associated with a programming menu 190. In one example, the programming menu 190 may be for associating each of a plurality of channel identifiers with a respective one of the plurality of media streams.
In operation 804, the processing device may format the plurality of media streams for a concurrent presentation of each of the plurality of channel identifiers and at least one image from each the associated media streams. At operation 806, the processing device may multiplex the plurality of media streams forming a multiplexed media stream 170. In operation 806, the processing device may transmit the multiplexed media stream 170 to set-top box 130. In operation 810, the processing device may receive a request for a particular media stream of the plurality of media streams. In operation 812, responsive to the request for a particular media stream of the plurality of media streams, the processing device may terminate transmitting of the multiplexed media stream 170. In operation 814, the processing device may transmit the particular media stream.
The system and apparatus described above may use dedicated processor systems, micro controllers, programmable logic devices, microprocessors, or the like, or any combination thereof, to perform some or all of the operations described herein. Some of the operations described above may be implemented in software and other operations may be implemented in hardware. One or more of the operations, processes, and/or methods described herein may be performed by an apparatus, a device, and/or a system substantially similar to those as described herein and with reference to the illustrated figures.
The processing device may execute instructions or “code” stored in memory. The memory may store data as well. The processing device may include, but may not be limited to, an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, or the like. The processing device may be part of an integrated control system or system manager, or may be provided as a portable electronic device configured to interface with a networked system either locally or remotely via wireless transmission.
The processor memory may be integrated together with the processing device, for example RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory may comprise an independent device, such as an external disk drive, a storage array, a portable FLASH key fob, or the like. The memory and processing device may be operatively coupled together, or in communication with each other, for example by an I/O port, a network connection, or the like, and the processing device may read a file stored on the memory. Associated memory may be “read only” by design (ROM) by virtue of permission settings, or not. Other examples of memory may include, but may not be limited to, WORM, EPROM, EEPROM, FLASH, or the like, which may be implemented in solid state semiconductor devices. Other memories may comprise moving parts, such as a conventional rotating disk drive. All such memories may be “machine-readable” and may be readable by a processing device.
Operating instructions or commands may be implemented or embodied in tangible forms of stored computer software (also known as “computer program” or “code”). Programs, or code, may be stored in a digital memory and may be read by the processing device. “Computer-readable storage medium” (or alternatively, “machine-readable storage medium”) may include all of the foregoing types of memory, as well as new technologies of the future, as long as the memory may be capable of storing digital information in the nature of a computer program or other data, at least temporarily, and as long at the stored information may be “read” by an appropriate processing device. The term “computer-readable” may not be limited to the historical usage of “computer” to imply a complete mainframe, mini-computer, desktop or even laptop computer. Rather, “computer-readable” may comprise storage medium that may be readable by a processor, a processing device, or any computing system. Such media may be any available media that may be locally and/or remotely accessible by a computer or a processor, and may include volatile and non-volatile media, and removable and non-removable media, or the like, or any combination thereof.
A program stored in a computer-readable storage medium may comprise a computer program product. For example, a storage medium may be used as a convenient means to store or transport a computer program. For the sake of convenience, the operations may be described as various interconnected or coupled functional blocks or diagrams. However, there may be cases where these functional blocks or diagrams may be equivalently aggregated into a single logic device, program or operation with unclear boundaries.
Having described and illustrated the principles of examples, it should be apparent that the examples may be modified in arrangement and detail without departing from such principles. We claim all modifications and variation coming within the spirit and scope of the following claims.

Claims (48)

The invention claimed is:
1. A method comprising:
receiving, by a processing device, a multiplexed media stream from a head-end device for use as a programming menu, wherein the multiplexed media stream comprises portions of broadcast media streams;
storing, by the processing device, a library of local media streams;
combining, by the processing device, the portions of the broadcast media streams from the multiplexed media stream with portions of the local media streams;
associating, by the processing device, each of a plurality of identifiers with a respective one of the broadcast media streams and the local media streams; and
prompting, by the processing device, a concurrent presentation of each of the plurality of identifiers and a concurrent display of images from each of the associated broadcast media streams and local media streams in a display of the programming menu;
determining, by the processing device, a dynamic rate based on one or more network metrics; and
refreshing, by the processing device, the images at the dynamic rate.
2. The method of claim 1, further comprising:
demultiplexing, by the processing device, the multiplexed media stream.
3. The method of claim 1, wherein the processing device is located in a set-top box and wherein the set-top box receives the multiplexed media stream from the head-end device, stores the library of local media streams, and combines the portions of the broadcast media streams from the multiplexed media stream with portions of the local media streams.
4. The method of claim 2, further comprising:
in response to an input for selecting a particular identifier of the plurality of identifiers, requesting, by the processing device, termination of the multiplexed media stream.
5. The method of claim 3, further comprising:
in response to an input for selecting the programming menu, requesting, by the processing device, one of the broadcast media streams from the head-end device or one of the local media streams from the library.
6. The method of claim 1, further comprising:
selecting, by the processing device, a user customized programming guide in response to a request; and
displaying, by the processing device, the user customized programming guide based on the request.
7. The method of claim 6, wherein the the user customized programming guide is based on user selections from the plurality of identifiers displayed in the programming menu.
8. The method of claim 1, further comprising refreshing, by the processing device, the images at a dynamic rate, wherein the dynamic rate is associated with wherein determining the dynamic rate based on the one or more network metrics further comprises determining the dynamic rate based on
network bandwidth or quality of service metrics, or a combination thereof.
9. The method of claim 1, further comprising:
selecting, by the processing device, one of the plurality of identifiers; and
in response to the selecting one of the plurality of identifiers, prompting, by the processing device, a preview of the respective one of the broadcast media streams or local media streams in a pop-up window within the programming menu.
10. The method of claim 1, further comprising:
selecting, by the processing device, one of the plurality of identifiers;
in response to the selecting one of the plurality of identifiers, prompting, by the processing device, a full screen display of one of the broadcast media streams or local media streams associated with the selected one of the plurality of identifiers; and
terminating, by the processing device, the display of the programming menu.
11. The method of claim 1, wherein the display of the programming menu is in a table view, wherein a table maps each of the plurality of identifiers to one of the images from each of the associated broadcast media streams and local media streams and a programming time.
12. The method of claim 1, wherein the display of the programming menu is in a mosaic view comprising a predetermined number of inset windows within the programming menu, wherein each of the predetermined number of inset windows presents one of the plurality of identifiers and the images from the associated broadcast media streams and local media streams.
13. A computer-readable memory device having instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations comprising:
receiving a multiplexed media stream including multiplexed portions of a plurality of broadcast media streams;
demultiplexing the multiplexed media stream;
storing local media streams;
combining the portions of the broadcast media streams with portions of the local media steams;
associating each of a plurality of channel identifiers with a respective one of the plurality of broadcast media streams or one of the local media streams; and
prompting a concurrent presentation of each of the plurality of channel identifiers and a concurrent display of the portions from each of the associated broadcast media streams and local media streams in a display of a programming menu, wherein the display of the programming menu further comprises video from each of the associated media streams, and wherein the operations further comprise:
refreshing the video at a dynamic rate, wherein the dynamic rate is associated with network bandwidth or quality of service metrics, or a combination thereof.
14. The computer-readable memory device of claim 13, wherein the
processing device is located in a set-top box.
15. The computer-readable memory device of claim 14, wherein the multiplexed media stream originates at a head-end device.
16. The computer-readable memory device of claim 15, wherein the operations further comprise:
in response to an input for selecting a particular channel identifier of the plurality of channel identifiers, sending a request to terminate transmission of the multiplexed media stream to the head-end device.
17. The computer-readable memory device of claim 15, wherein the operations further comprise:
in response to an input requesting the programming menu, sending a request for the multiplexed media stream to the head-end device.
18. The computer-readable memory device of claim 13, wherein the operations further comprise:
storing the programming menu in association with a programming menu identifier, wherein the prompting of the display of the programming menu is responsive to a request for the programming menu including the programming menu identifier.
19. The computer-readable memory device of claim 13, wherein the display of the programming menu further comprises concurrent presentation of each of the plurality of channel identifiers and the video from each of the associated media streams.
20. The computer-readable memory device of claim 19, wherein the operations further comprise refreshing the video at a dynamic rate, wherein the dynamic rate is associated with network bandwidth or quality of service metrics, or a combination thereof.
21. The computer-readable memory device of claim 13, wherein the operations comprising the prompting the concurrent presentation of each of the plurality of channel identifiers and the portions from each of the associated broadcast media streams and local media streams in the display of the programming menu, further comprises:
selecting one of the plurality of channel identifiers; and
in response to the selecting one of the plurality of channel identifiers, prompting a preview of one of the associated broadcast media streams or local media streams in a pop-up window within the programming menu.
22. The computer-readable memory device of claim 13, wherein the operations further comprise:
selecting one of the plurality of channel identifiers;
in response to the selecting one of the plurality of channel identifiers, prompting a full screen display of one of the associated broadcast media streams or local media streams; and
terminating the display of the programming menu.
23. The computer-readable memory device of claim 13, wherein the display of the programming menu is in a table view, wherein a table maps each of the plurality of channel identifiers to the portions from each of the associated broadcast and local media streams and a programming time.
24. The computer-readable memory device of claim 13, wherein the display of the programming menu is in a mosaic view comprising a predetermined number of windows inset within the programming menu, wherein each of the predetermined number of inset windows presents one of the plurality of channel identifiers and the portions from each of the associated broadcast and local media streams.
25. An apparatus, to output to a display device, the apparatus comprising:
a processing device; and
a computer-readable memory device having computer-executable instructions stored thereon that, in response to execution by the processing device, cause the processing device to perform operations comprising:
a memory device configured to store instructions associated with an application program; and
a processing device that, in response to executing the instructions stored in the memory device, is configured to:
receivereceiving, from a head-end device, a multiplexed media stream comprising portions of video from a plurality of broadcast media streams;
demultiplexdemultiplexing the multiplexed media stream;
storestoring local media streams;
combinecombining the portions of video from the broadcast media streams with portions of the local media steams;
associateassociating each of a plurality of channel identifiers with a respective one of a plurality of broadcast media streams or one of the local media streams; and
prompt aprompting the display device to display a programming menu comprising a concurrent presentation of each of the plurality of channel identifiers and a concurrent display of the video from the associated broadcast media streams and local media streams; and
refreshing the broadcast media streams video at a dynamic rate, wherein the dynamic rate is based on network bandwidth or quality of service metrics, or a combination thereof.
26. The apparatus of claim 25, wherein the processing device is
located in a set-top box.
27. The apparatus of claim 26, wherein the processing device is further configured to operations further comprise:
receivereceiving, from a remote communication device, an input for selecting a particular channel identifier of the plurality of channel identifiers; and
sendsending a message from the set-top box requesting termination of the multiplexed media stream to the head-end device based on the input.
28. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
receivereceiving, from a remote communication device, an input for selecting the programming menu; and
in response to the input, send a message requesting the multiplexed media stream from the head-end device.
29. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
associateassociating the programming menu with a programming menu identifier; and
receivereceiving a request for the programming menu from a remote communication device, the request including the program menu identifier;
wherein the prompting the display device to display the programming menu is responsive to receiving the request.
30. The apparatus of claim 25, wherein the processing device is further configured to refresh the from the broadcast media streams video at a dynamic rate, wherein the dynamic rate is based on network bandwidth or quality of service metrics, or a combination thereof.
31. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
selectselecting one of the plurality of channel identifiers; and
promptprompting a preview of one of the associated broadcast media streams or local media streams in a pop-up window within the programming menu.
32. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
selectselecting one of the plurality of channel identifiers; in response to the selecting one of the plurality of channel identifiers, prompt a full screen display of one of the associated broadcast media streams or local media streams; and terminate the display of the programming menu.
33. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
promptprompting the display device to display the programming menu in a table view.
34. The apparatus of claim 25, wherein the processing device is further configured to operations further comprise:
promptprompting the display device to display the programming menu in a mosaic view comprising a predetermined number of windows inset within the programming menu.
35. An apparatus, A system, comprising:
processing devices; and
computer-readable memory devices having computer-executable instructions stored thereon that, in response to execution by the processing devices, cause the processing devices to perform operations comprising:
means for multiplexing portions of media streams into a multiplexed media stream, wherein the media streams include both broadcast media streams and local media streams and the multiplexed portions of the media streams comprise portions of only the broadcast media streams;
means for associating each of a plurality of channel identifiers with a respective one of the portions of media streams; and
means for transmitting the multiplexed media stream to a receiving device and prompting a concurrent presentation of each of the plurality of channel identifiers and a concurrent display of the portions of the associated media streams in the multiplexed media stream in a display of a programming menu with the local media streams, wherein the prompting a concurrent presentation includes displaying multiple images from each of the associated media streams; and
refreshing the multiple images at a dynamic rate, wherein the dynamic rate is associated with network bandwidth or quality of service metrics, or a combination thereof.
36. The apparatus system of claim 35,
wherein the receiving device comprises a television.
37. The apparatus system of claim 36, wherein the broadcast media streams originate at a head-end device.
38. The apparatus system of claim 35, further comprising wherein the operations further comprise:
means for selecting a particular channel identifier of the plurality of channel identifiers; and
means for receiving a request to terminate the multiplexed media stream in response to the selecting a particular channel identifier.
39. The apparatus system of claim 35, further comprising wherein the operations further comprise:
means for selecting the programming menu in response to a request for the programming menu.
40. The apparatus system of claim 35, further comprising wherein the operations further comprise:
means for associating the programming menu with a programming menu identifier; and
means for selecting the programming menu in response to a request for the programming menu comprising the programming menu identifier.
41. The apparatus of claim 35, wherein the means for prompting a concurrent presentation includes means for displaying multiple images from each of the associated media streams.
42. The apparatus of claim 41, further comprising means for refreshing the multiple images at a dynamic rate, wherein the dynamic rate is associated with network bandwidth or quality of service metrics, or a combination thereof.
43. The apparatus system of claim 35, further comprising wherein the operations further comprise:
means for selecting one of the plurality of channel identifiers; and
means for prompting a preview of one of the associated media streams in a pop-up window within the programming menu in response to the selecting, by the means for selecting, one of the plurality of channel identifiers.
44. The apparatus system of claim 35, further comprising wherein the operations further comprise:
means for selecting one of the plurality of channel identifiers;
means for prompting a full screen display of one of the associated media streams in response to the selecting, by the means for selecting, one of the plurality of channel identifiers; and
means for terminating the display of the programming menu.
45. The apparatus system of claim 35, wherein the display of the programming menu is in a table view, wherein a table maps each of the plurality of channel identifiers to the portions from each of the associated media streams and a programming time.
46. The apparatus system of claim 35, wherein the display of the programming menu is in a mosaic view comprising a predetermined number of windows inset within the programming menu, wherein each of the predetermined number of inset windows presents one of the plurality of channel identifiers and the at least one image from each of the associated media streams.
47. A method comprising:
receiving, by a processing device, a request for transmitting a programming guide
identifying a plurality of channel identifiers associated with the programming guide;
identifying a plurality of media streams associated with the plurality of channel identifiers, wherein the plurality of media streams include both broadcast media streams and locally stored media streams;
formatting, by the processing device, the plurality of media streams for a concurrent presentation of each of the plurality of channel identifiers and at least one image from each the associated plurality of media streams;
multiplexing, by the processing device, portions of video from each of the plurality of media streams into a multiplexed media stream; and
transmitting, by the processing device, the multiplexed media stream to a set-top box for using as part of the programming guide.
48. The method of claim 47, further comprising;
terminating, by the processing device, the transmitting of the multiplexed media stream in response to a request for a particular one of the plurality of media streams; and
transmitting, by the processing device, the particular one of the plurality of media streams associated with the request.
US15/400,621 2011-06-29 2017-01-06 Methods, devices, and mediums for generating a programming menu Active 2032-02-16 USRE47967E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/400,621 USRE47967E1 (en) 2011-06-29 2017-01-06 Methods, devices, and mediums for generating a programming menu

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/172,574 US8930999B1 (en) 2011-06-29 2011-06-29 Methods, devices, and mediums for generating a programming menu
US15/400,621 USRE47967E1 (en) 2011-06-29 2017-01-06 Methods, devices, and mediums for generating a programming menu

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/172,574 Reissue US8930999B1 (en) 2011-06-29 2011-06-29 Methods, devices, and mediums for generating a programming menu

Publications (1)

Publication Number Publication Date
USRE47967E1 true USRE47967E1 (en) 2020-04-28

Family

ID=52117464

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/172,574 Ceased US8930999B1 (en) 2011-06-29 2011-06-29 Methods, devices, and mediums for generating a programming menu
US15/400,621 Active 2032-02-16 USRE47967E1 (en) 2011-06-29 2017-01-06 Methods, devices, and mediums for generating a programming menu

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/172,574 Ceased US8930999B1 (en) 2011-06-29 2011-06-29 Methods, devices, and mediums for generating a programming menu

Country Status (1)

Country Link
US (2) US8930999B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6069881B2 (en) * 2012-04-25 2017-02-01 株式会社リコー Relay device, display data sharing system, data control method and program
US10104438B1 (en) * 2013-03-15 2018-10-16 Cox Communications, Inc Automatic population of a programming guide mosaic screen
US20160112752A1 (en) * 2013-05-29 2016-04-21 Vijay SELVARAJ Apparatus and method for displaying a program guide
KR101992182B1 (en) * 2013-06-11 2019-06-24 엘지전자 주식회사 Operating Method for Image Display apparatus
US9788071B2 (en) * 2014-11-03 2017-10-10 Microsoft Technology Licensing, Llc Annotating and indexing broadcast video for searchability
CN104796572A (en) * 2015-04-22 2015-07-22 深圳市美贝壳科技有限公司 Picture projection display method
US11902602B1 (en) * 2020-03-03 2024-02-13 Cox Communications, Inc. Combining video content feeds
CN113727170A (en) * 2021-08-27 2021-11-30 北京字跳网络技术有限公司 Video interaction method, device, equipment and medium
JP2023177422A (en) * 2022-06-02 2023-12-14 キヤノン株式会社 Image processing device, image processing method and program

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5663757A (en) * 1989-07-14 1997-09-02 Morales; Fernando Software controlled multi-mode interactive TV systems
US6133909A (en) * 1996-06-13 2000-10-17 Starsight Telecast, Inc. Method and apparatus for searching a guide using program characteristics
US6481012B1 (en) * 1999-10-27 2002-11-12 Diva Systems Corporation Picture-in-picture and multiple video streams using slice-based encoding
US6651251B1 (en) * 1996-06-05 2003-11-18 Microsoft Corporation System and method for linking video, services and applications in an interactive television system
US6769127B1 (en) * 2000-06-16 2004-07-27 Minerva Networks, Inc. Method and system for delivering media services and application over networks
US6973621B2 (en) * 2001-04-27 2005-12-06 Starz Entertainment Group Llc Customization in a content distribution system
US7117440B2 (en) * 1997-12-03 2006-10-03 Sedna Patent Services, Llc Method and apparatus for providing a menu structure for an interactive information distribution system
US7673319B1 (en) * 1992-12-09 2010-03-02 Comcast Ip Holdings I, Llc Set top terminal for displaying television program menus
US8073955B1 (en) * 1999-01-27 2011-12-06 The Directv Group, Inc. Method and apparatus for tuning used in a broadcast data system
US8381246B2 (en) * 2010-08-27 2013-02-19 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for providing electronic program guides
US8402488B2 (en) * 2006-12-28 2013-03-19 Rovi Guides, Inc Systems and methods for creating custom video mosaic pages with local content
US8595766B2 (en) * 2009-05-29 2013-11-26 Lg Electronics Inc. Image display apparatus and operating method thereof using thumbnail images
US8621514B2 (en) * 2010-06-23 2013-12-31 Echostar Broadcasting Corporation Apparatus, systems and methods for a video thumbnail electronic program guide

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5663757A (en) * 1989-07-14 1997-09-02 Morales; Fernando Software controlled multi-mode interactive TV systems
US7673319B1 (en) * 1992-12-09 2010-03-02 Comcast Ip Holdings I, Llc Set top terminal for displaying television program menus
US6651251B1 (en) * 1996-06-05 2003-11-18 Microsoft Corporation System and method for linking video, services and applications in an interactive television system
US6133909A (en) * 1996-06-13 2000-10-17 Starsight Telecast, Inc. Method and apparatus for searching a guide using program characteristics
US7117440B2 (en) * 1997-12-03 2006-10-03 Sedna Patent Services, Llc Method and apparatus for providing a menu structure for an interactive information distribution system
US8073955B1 (en) * 1999-01-27 2011-12-06 The Directv Group, Inc. Method and apparatus for tuning used in a broadcast data system
US6481012B1 (en) * 1999-10-27 2002-11-12 Diva Systems Corporation Picture-in-picture and multiple video streams using slice-based encoding
US6769127B1 (en) * 2000-06-16 2004-07-27 Minerva Networks, Inc. Method and system for delivering media services and application over networks
US6973621B2 (en) * 2001-04-27 2005-12-06 Starz Entertainment Group Llc Customization in a content distribution system
US8402488B2 (en) * 2006-12-28 2013-03-19 Rovi Guides, Inc Systems and methods for creating custom video mosaic pages with local content
US8595766B2 (en) * 2009-05-29 2013-11-26 Lg Electronics Inc. Image display apparatus and operating method thereof using thumbnail images
US8621514B2 (en) * 2010-06-23 2013-12-31 Echostar Broadcasting Corporation Apparatus, systems and methods for a video thumbnail electronic program guide
US8381246B2 (en) * 2010-08-27 2013-02-19 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for providing electronic program guides

Also Published As

Publication number Publication date
US8930999B1 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
USRE47967E1 (en) Methods, devices, and mediums for generating a programming menu
US11962827B2 (en) Displaying non-time bound content in a time bound grid
US10015540B2 (en) Method of providing information and display device thereof
US20070250861A1 (en) On-screen program guide with interactive programming recommendations
US20150312618A1 (en) Systems and Methods for Generating a Full-Motion Video Mosaic Interface for Content Discovery with User-Configurable Filters
US20130283318A1 (en) Dynamic Mosaic for Creation of Video Rich User Interfaces
WO2007106464A2 (en) Integrating data on program popularity into an on-screen program guide
US10123087B1 (en) Channel block switching
CN102790919A (en) Display device connected to multiple source devices and control method thereof
US9973813B2 (en) Commercial-free audiovisual content
CN102428708A (en) User-based media content chaptering systems and methods
JP2019525661A (en) System and method for storing rescheduled media assets for transmission from different sources
US10853405B2 (en) Systems and methods for automatically generating supplemental content for a media asset based on a user's personal media collection
JP6504695B2 (en) Video distribution system
US20170318350A1 (en) List-type content presentation device and method
JP2019507508A (en) System and method for synchronizing media asset playback on multiple devices
KR102176385B1 (en) Providing correlated programming information for broadcast media content and streaming media content
KR20180128824A (en) Method and system for efficiently downloading media assets
JP2019537169A (en) System and method for receiving a segment of a media asset associated with a user image
US10558333B1 (en) System and method for providing network-based video manipulation resources to a client device
US9794603B1 (en) System and method for inserting and assigning a channel or program link per device or user
US9813777B1 (en) Time shifting content for network DVR and trick play keys
US20250287059A1 (en) Systems and methods for implementing primary/secondary configuration data to reduce an amount of configuration data that needs to be centrally stored for large-scale distribution
US20170318349A1 (en) Grid-type content presentation device and method
KR100935303B1 (en) lPTV system for interworking among related services among lPTV services and implementing the same

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTELLECTUAL VENTURES FUND 79 LLC, NEVADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAENG, JOON;REEL/FRAME:047747/0890

Effective date: 20011017

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8