ES2770001T3 - Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión - Google Patents

Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión Download PDF

Info

Publication number
ES2770001T3
ES2770001T3 ES16715680T ES16715680T ES2770001T3 ES 2770001 T3 ES2770001 T3 ES 2770001T3 ES 16715680 T ES16715680 T ES 16715680T ES 16715680 T ES16715680 T ES 16715680T ES 2770001 T3 ES2770001 T3 ES 2770001T3
Authority
ES
Spain
Prior art keywords
channel
subset
channels
user
cycle
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
Application number
ES16715680T
Other languages
English (en)
Inventor
Franklin Wu
Gary Sano
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.)
OpenTV Inc
Original Assignee
OpenTV Inc
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 OpenTV Inc filed Critical OpenTV Inc
Application granted granted Critical
Publication of ES2770001T3 publication Critical patent/ES2770001T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4221Dedicated function buttons, e.g. for the control of an EPG, subtitles, aspect ratio, picture-in-picture or teletext
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/4263Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific tuning arrangements, e.g. two tuners
    • 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
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4333Processing operations in response to a pause request
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)
  • User Interface Of Digital Computer (AREA)
  • Transceivers (AREA)

Abstract

Un método implementado por ordenador para posibilitar que un usuario haga que se presente programación asociada con un canal, comprendiendo el método: recibir (602) un comando para iniciar una función para recorrer circularmente un subconjunto de canales accesibles en un dispositivo de medios; en respuesta a recibir el comando, determinar (604) si un canal actualmente presentado al que se accede en el dispositivo de medios está incluido en el subconjunto de canales; basándose en determinar que el canal actualmente presentado no está incluido en el subconjunto de canales, y en respuesta a recibir el comando, actualizar (614) el subconjunto de canales para añadir el canal actualmente presentado al subconjunto de canales, incluyendo la adición del canal actualmente presentado al subconjunto de canales reemplazar un canal incluido en el subconjunto de canales con el canal actualmente presentado, y basándose en determinar que el canal actualmente presentado está incluido en el subconjunto de canales, y en respuesta a recibir el comando, hacer (608) que un canal siguiente incluido en el subconjunto de canales se presente en el dispositivo de medios.

Description

DESCRIPCIÓN
Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión
Campo técnico
La presente divulgación se refiere al campo de la televisión interactiva y de las interfaces de usuario.
Antecedentes
Se pueden incorporar capacidades de reproducción de medios digitales en un amplia gama de dispositivos, incluyendo televisiones digitales, los así denominados televisiones "inteligentes", ordenadores portátiles o de escritorio, ordenadores de tipo tableta, dispositivos de grabación digitales, reproductores de medios digitales, dispositivos de videojuegos, teléfonos celulares, incluyendo los así denominados teléfonos inteligentes, dispositivos de transmisión por secuencias de vídeo dedicados y similares. El contenido de los medios digitales se puede originar a partir de múltiples fuentes, incluyendo, por ejemplo, proveedores de televisión por aire, proveedores de televisión por satélite y proveedores de televisión por cable. Con el fin de acceder al contenido de medios digitales de una de estas fuentes, un dispositivo puede incluir un sintonizador para sintonizar físicamente en una banda de frecuencia y un desmultiplexor para extraer contenido digital de dentro de la banda de frecuencia. Por ejemplo, un descodificador de salón puede incluir un sintonizador ASTC o DVB.
Un descodificador o televisión puede incluir una función de recuperación de canal previo. Una función habitual de recuperación de canal previo se puede implementar usando un botón en un control remoto (por ejemplo, un botón de "último", un botón de "Recuperación", un botón de "Canal Previo", un botón de "Previo", un botón de "Saltar", etc.) Las funciones convencionales de recuperación de canales anteriores están habitualmente limitadas a un conjunto de dos canales, es decir, el canal sintonizado actualmente y el canal sintonizado previamente más reciente y simplemente posibilitan a un usuario alternar entre estos dos canales. Las funciones convencionales de recuperación de canal previo pueden no ser en absoluto ideales.
El documento US2005/198666 A1 divulga un botón único para añadir/borrar un canal favorito de una lista dependiendo de si el canal está, o no, presente en la lista. El botón es un botón de mando que también prevé seleccionar un canal favorito previo/siguiente o un canal normal previo/siguiente dependiendo del ángulo de rotación.
El documento EP 1575285 A2 divulga un botón de canales favoritos para introducir canales favoritos. Oprimir adicionalmente el botón recorre circularmente los canales favoritos siguientes. También se describe un desplazamiento temporal a petición.
El documento WO 97/32434 A1 divulga la adición de canales a una lista de canales favoritos, y su eliminación de la misma, por una acción de opresión prolongada. Una acción de opresión corta recorre circularmente una lista de canales favoritos.
Sumario
El siguiente breve sumario no pretende incluir todas las características y aspectos de la presente invención, ni implica que la invención deba incluir todas las características y los aspectos analizados en este sumario. La presente divulgación se refiere al campo de la televisión interactiva y describe más específicamente técnicas e interfaces de usuario, incluyendo dispositivos de entrada de usuario para potenciar la experiencia del usuario al navegar por y visualizar contenido de programación. Las técnicas descritas en el presente documento pueden ser particularmente útiles para sistemas de distribución de vídeo que tengan un gran número de canales, por ejemplo, de docenas a cientos. En un ejemplo, las técnicas descritas en el presente documento pueden potenciar la experiencia de un usuario al navegar por y mostrar el contenido de programación mediante la provisión de una función de recorrido circular de canales. En algunos ejemplos, las técnicas se pueden implementar en un dispositivo con capacidades de reproducción de medios digitales, incluyendo, por ejemplo, ordenadores portátiles o de escritorio, tabletas, teléfonos inteligentes, descodificadores de salón y televisiones.
La invención se expone en las reivindicaciones.
Los detalles de uno o más ejemplos se exponen en los dibujos adjuntos y en la descripción posterior. Otras características, objetos y ventajas serán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que ilustra un ejemplo de un sistema que puede implementar una o más técnicas de la presente divulgación.
La figura 2A es un diagrama de bloques que ilustra un ejemplo de un dispositivo informático que puede implementar una o más técnicas de la presente divulgación.
La figura 2B es un diagrama conceptual que ilustra un ejemplo de un dispositivo de entrada/salida que puede implementar una o más técnicas de la presente divulgación.
La figura 3 es un diagrama conceptual que ilustra un ejemplo de una función de recuperación de canal previo convencional.
La figura 4 es un diagrama conceptual que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
La figura 5 es un diagrama conceptual que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
La figura 6 es un diagrama de flujo que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
La figura 7 es un diagrama conceptual que ilustra un ejemplo de una interfaz gráfica de usuario de acuerdo con una o más técnicas de la presente divulgación.
Las figuras 8A y 8B son diagramas conceptuales que ilustran un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
La figura 9 es un diagrama de flujo que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
Las figuras 10A y 10B son diagramas conceptuales que ilustran un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
Las figuras 11A y 11B son diagramas conceptuales que ilustran un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
Las figuras 12A y 12B son diagramas conceptuales que ilustran un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
La figura 13 es un diagrama de flujo que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación.
Descripción detallada
En el presente documento se describen sistemas y métodos para habilitar la selección de contenido. Algunas realizaciones se extienden a medios que no son transitorios y legibles por ordenador que incorporan instrucciones que, cuando son ejecutadas por un ordenador, hacen que el ordenador realice una o más cualesquiera de las metodologías descritas en el presente documento. Otras características serán evidentes a partir de las figuras adjuntas y de la descripción detallada que sigue. Los ejemplos meramente tipifican algunas variaciones posibles. A menos que se indique explícitamente otra cosa, los componentes y funciones son opcionales y se pueden combinar o subdividir y las operaciones pueden variar en cuanto a su secuencia o se pueden combinar o subdividir. En la siguiente descripción, para fines de explicación, se exponen numerosos detalles específicos para proporcionar una comprensión completa de las realizaciones de ejemplo. Será evidente para un experto en la materia, no obstante, que la presente materia objeto puede ponerse en práctica sin estos detalles específicos.
Los dispositivos con capacidades de reproducción de medios digitales, incluyendo, por ejemplo, televisiones y descodificadores de salón, se pueden configurar para proporcionar a los usuarios de los mismos una interfaz que posibilita a un usuario sintonizar un canal de televisión particular (por ejemplo, ABC o NBC). Por ejemplo, una televisión o descodificador de salón puede incluir un botón de control remoto que posibilita a un usuario navegar a un canal particular con la introducción de un número correspondiente a un canal particular (por ejemplo, 100). Debido a que los usuarios pueden encontrar deseable poder sintonizar o recuperar más rápidamente un canal en particular, una interfaz puede incluir una funcionalidad que posibilita a un usuario sintonizar un canal sin tener que introducir el número correspondiente al canal de televisión particular o navegar hasta el canal usando una guía electrónica de programación (EPG). Como se describió anteriormente, un ejemplo de tal función incluye una así denominada función de recuperación de canal previo que posibilita a un usuario alternar entre dos canales.
Además, los dispositivos con capacidades de reproducción de medios digitales pueden incluir funcionalidad de grabación. Dicha funcionalidad de grabación se puede incluir en una grabadora de vídeo personal (PVR) o una grabadora de vídeo digital (DVR) que se puede acoplar o integrar operativamente en un dispositivo que incluye sintonizadores. La funcionalidad de grabación se puede configurar para almacenar contenido de medios al que se accede a través de un sintonizador. Esto puede posibilitar a un usuario ver una programación de televisión en un momento posterior (por ejemplo, "desplazar temporalmente" un programa de televisión). Además, la funcionalidad de grabación puede ser configurada para proporcionar una memoria intermedia de revisión, en donde una memoria intermedia de revisión almacena porciones vistas previamente (por ejemplo, cinco minutos) de un canal actualmente sintonizado. Una memoria intermedia de revisión puede posibilitar a un usuario pausar, rebobinar y/o reproducir partes de un programa de televisión actualmente sintonizado. En un descodificador de salón convencional que tiene capacidades de grabación, habitualmente solo se implementa una única memoria intermedia de revisión para el canal actualmente sintonizado. Por lo tanto, en este caso cuando un usuario sintoniza otro canal (por ejemplo, activa el botón de canal previo), la memoria intermedia de revisión se asocia con el nuevo canal sintonizado actualmente y se borra el contenido almacenado de la memoria intermedia de revisión para el canal previamente sintonizado ahora. La figura 3 es un diagrama conceptual que ilustra un ejemplo de una función de recuperación de canal previo convencional. Como se ilustra en la figura 3, conforme un usuario activa una función de recuperación de canal previo, se borran los contenidos de la memoria intermedia de revisión asociada con el canal previamente sintonizado (por ejemplo, canal 100 (to a ti) borrado en ti al recuperar el canal 500) y, en este sentido, cuando un usuario vuelve al canal 100 en t2 , el usuario no puede acceder a porciones del programa presentado en el canal 100 antes de ts.
Por lo tanto, cuando se usa una televisión o descodificador de salón que tiene una función convencional de canal previo y una funcionalidad de memoria intermedia de revisión convencional, un usuario no tiene la capacidad de rebobinar el canal sintonizado previamente ahora, al volver al canal sintonizado previamente (por ejemplo, activar posteriormente una función de recuperación de canal previo). En este sentido, un usuario no será capaz de reproducir el contenido que se estaba reproduciendo en el canal previo sintonizado al recuperar el canal visto previamente. Además, un usuario puede encontrar deseable poder recuperar más de un solo canal sintonizado previamente. Las técnicas descritas en el presente documento pueden posibilitar a un usuario sintonizar más eficientemente un canal y/o acceder a una porción previamente presentada de contenido asociado con el canal.
La figura 1 es un diagrama de bloques que ilustra un ejemplo de un sistema que puede implementar una o más técnicas descritas en la presente divulgación. El sistema 100 puede ser configurado para posibilitar la selección de contenido de acuerdo con las técnicas descritas en el presente documento. En el ejemplo ilustrado en la figura 1, el sistema 100 incluye uno o más dispositivos informáticos 102A a 102N, red de comunicaciones 104, sitio de proveedor de servicios de televisión 110, sitio de proveedor de servicios de medios 118 y sitio de distribución de contenido de páginas web 120. El sistema 100 puede incluir módulos de software que operan en uno o más servidores. Los módulos de software se pueden almacenar en una memoria y ser ejecutados por un procesador. Los servidores pueden incluir uno o más procesadores y una pluralidad de dispositivos de memoria internos y/o externos. Los ejemplos de dispositivos de memoria incluyen servidores de archivos, servidores FTP, dispositivos de almacenamiento unidos a la red (NAS), unidades de disco local o cualquier otro tipo de dispositivo o medio de almacenamiento capaz de almacenar datos. Los medios de almacenamiento pueden incluir discos Blu-ray, DVD, CD-ROM, memoria flash o cualquier otro medio de almacenamiento digital adecuado. Cuando las técnicas descritas en el presente documento se implementan parcialmente en software, un dispositivo puede almacenar instrucciones para el software en un medio legible por ordenador no transitorio adecuado y ejecutar las instrucciones en hardware usando uno o más procesadores.
El sistema 100 representa un ejemplo de un sistema que puede ser configurado para permitir que el contenido digital, tal como, por ejemplo, música, vídeos, imágenes, páginas web, mensajes, comunicaciones de voz y aplicaciones, sea distribuido a y acceda al mismo una pluralidad de dispositivos informáticos, tales como los dispositivos informáticos 102A a 102N. En el ejemplo ilustrado en la figura 1, los dispositivos informáticos 102A a 102N pueden incluir cualquier dispositivo configurado para transmitir datos a y/o recibir datos de la red de comunicación 104. Por ejemplo, los dispositivos informáticos 102A a 102N pueden estar equipados para comunicaciones cableadas y/o inalámbricas y pueden incluir descodificadores de salón, grabadoras de vídeo digital, televisiones, ordenadores de escritorio, portátiles o tabletas, consolas de juegos, dispositivos móviles, incluyendo, por ejemplo, teléfonos "inteligentes", teléfonos celulares y dispositivos personales de juego. Se debería hacer notar que, aunque el sistema 100 de ejemplo se ilustra como teniendo sitios distintos, tal ilustración es para propósitos descriptivos y no limita el sistema 100 a una arquitectura física particular. Las funciones del sistema 100 y los sitios incluidos en el presente documento se pueden lograr usando cualquier combinación de implementaciones de hardware, firmware y/o de software.
La red de comunicaciones 104 puede comprender cualquier combinación de medios de comunicación inalámbricos y/o cableados. La red de comunicaciones 104 puede incluir cables coaxiales, cables de fibra óptica, cables de par trenzado, transmisores y receptores inalámbricos, encaminadores, conmutadores, repetidores, estaciones base o cualquier otro equipo que pueda ser útil para facilitar las comunicaciones entre diversos dispositivos y sitios. La red de comunicaciones 104 puede operar de acuerdo con una combinación de uno o más protocolos de telecomunicación. Los protocolos de telecomunicaciones pueden incluir aspectos propietarios y/o pueden incluir protocolos de telecomunicaciones normalizados. Los ejemplos de protocolos de telecomunicaciones normalizados incluyen normas de Radiodifusión de Vídeo Digital (DVB), normas del Comité de Sistemas de Televisión Avanzada (ATSC), normas de Radiodifusión Digital de Servicios Integrados (ISDB), normas de Especificación de Interfaz de Servicio de Datos por Cable (DOCSIS), normas de Comunicaciones Móviles de Sistema Global, normas de acceso múltiple por división de código (CDMA), normas del Proyecto de Sociedad de 3a Generación (3GPP), normas del Instituto Europeo de Normas de Telecomunicaciones (ETSI), normas de Protocolo de Internet (IP), normas de Protocolo de Aplicación Inalámbrica (WAP) y normas de IEEE, tales como, por ejemplo, una o más normas incluidas en la familia de normas de 802 de IEEE.
Como se ilustra en la figura 1, se pueden definir redes de tipos diferentes en una red de comunicaciones 104. Las redes se pueden definir de acuerdo con aspectos físicos y/o lógicos. Por ejemplo, las redes que comparten la misma infraestructura física (por ejemplo, cables coaxiales) se pueden distinguir basándose en un tipo de servicio principal (por ejemplo, acceso a páginas web o servicio de televisión). Los aspectos físicos y lógicos de las redes se pueden describir de acuerdo con un modelo en capas. Por ejemplo, las capas de un modelo pueden definir respectivamente la señalización física, el direccionamiento, el control de acceso al canal, las propiedades del paquete y el procesamiento de datos en un sistema de comunicaciones. Un ejemplo de un modelo en capas es el modelo de interconexión de sistemas abiertos (OSI). En el ejemplo ilustrado en la figura 1, la red de comunicaciones 104 incluye la red de proveedor de televisión 106 y la red pública 108. Se debería hacer notar que, aunque la red de proveedor de televisión 106 y la red pública 108 se ilustran como distintas, la red de proveedor de televisión 106 y la red pública 108 pueden compartir aspectos físicos y/o lógicos.
La red de proveedor de televisión 106 es un ejemplo de una red configurada para proporcionar servicios de televisión a un usuario. Por ejemplo, la red de proveedor de televisión 106 puede incluir redes públicas de televisión por aire, redes de proveedor de servicios de televisión por satélite públicas o por suscripción y redes de proveedor de televisión públicas o por suscripción a cable. Se debería hacer notar que, aunque en algunos ejemplos la red de proveedor de televisión 106 se puede usar principalmente para proporcionar servicios de televisión, la red de proveedor de televisión 106 puede proporcionar también otros tipos de datos y servicios de acuerdo con cualquier combinación de los protocolos de telecomunicaciones descritos en el presente documento.
La red pública 108 es un ejemplo de una red basada en paquetes, tal como una red de área local, una red de área amplia o una red global, tal como Internet, configurados para proporcionar servicios basándose en la World Wide Web a un usuario. La red pública 108 se puede configurar para operar de acuerdo con las normas del Protocolo de Internet (IP). Se debería hacer notar que, aunque en algunos ejemplos la red pública 108 se puede usar principalmente para proporcionar acceso a páginas web de hipertexto, la red pública 108 puede proporcionar también otros tipos de contenido de medios de acuerdo con cualquier combinación del protocolo de telecomunicaciones descrito en el presente documento.
Con referencia otra vez a la figura 1, el proveedor de servicios de televisión 110 representa un ejemplo de un sitio del proveedor de servicios de televisión. El proveedor de servicios de televisión 110 se puede configurar para proporcionar dispositivos informáticos 102A a 102N con servicio de televisión. Por ejemplo, el proveedor de servicios de televisión 110 puede ser una estación de radiodifusión pública, un proveedor de televisión por cable o un proveedor de televisión por satélite y se puede configurar para proporcionar servicios de televisión a televisiones analógicas y/o digitales y descodificadores de salón. En el ejemplo ilustrado en la figura 1, el proveedor de servicios de televisión 110 incluye el motor de distribución por aire 112 y el motor a petición 114. El motor de distribución por aire 112 se puede configurar para recibir una pluralidad de alimentaciones por aire y distribuir las alimentaciones a los dispositivos informáticos 102A a 102N a través de la red de proveedor de televisión 106. Por ejemplo, el motor de distribución por aire 112 se puede configurar para recibir una o más transmisiones de televisión por aire a través de un enlace ascendente/descendente de satélite y distribuir las transmisiones de televisión por aire a uno o más usuarios de un servicio de televisión basándose en suscripción a cable.
El motor a petición 114 se puede configurar para acceder a una biblioteca multimedia y distribuir contenido multimedia a uno o más dispositivos informáticos 102A a 102N a través de la red de proveedor de televisión 106. Por ejemplo, el motor a petición 114 puede acceder a contenido multimedia (por ejemplo, música, películas y programas de TV) almacenado en la base de datos multimedia 116A y proporcionar películas a un subscriptor de un servicio de televisión por cable de forma pago por visión (PPV). La base de datos multimedia 116A puede ser un dispositivo de almacenamiento configurado para almacenar contenido multimedia. Se debería hacer notar que el contenido multimedia al que se accede a través del motor a petición 114 también puede estar situado en varios sitios dentro del sistema 100 (por ejemplo, distribución entre iguales).
El sitio de proveedor de servicios de medios 118 representa un ejemplo de un proveedor de servicios multimedia. El sitio de proveedor de servicios de medios 118 se puede configurar para acceder a una biblioteca multimedia y distribuir contenido multimedia a uno o más de los dispositivos informáticos 102A a 102N a través de la red pública 108. Por ejemplo, el sitio de proveedor de servicios de medios 118 puede acceder a multimedia (por ejemplo, música, películas y programas de TV) almacenados en la base de datos multimedia 116B y proporcionar multimedia a un usuario de un servicio de medios. La base de datos multimedia 116B puede ser un dispositivo de almacenamiento configurado para almacenar contenido multimedia. En un ejemplo, el sitio de proveedor de servicios de medios 118 se puede configurar para proporcionar contenido a uno o más de los dispositivos informáticos 102A a 102N usando un conjunto de protocolos de Internet. En algunos ejemplos, un servicio de medios se puede denominar servicio de transmisión por secuencias. Los ejemplos comerciales de servicios de medios pueden incluir Hulu, YouTube, Netflix, Amazon Prime y servicios de transmisión por secuencias basados en la red de y televisión (por ejemplo WatchESPN). Como se describió anteriormente, la red de proveedor de televisión 106 y la red pública 108 pueden compartir aspectos físicos y lógicos. Por lo tanto, el contenido al que acceden uno o más de los dispositivos informáticos 102A a 102N a través del sitio 118 del proveedor de servicios de medios se puede transmitir a través de componentes físicos de la red de proveedor de televisión 106. Por ejemplo, un usuario de un dispositivo informático puede acceder al contenido de Internet y multimedia proporcionado por un servicio de medios a través de un módem de cable conectado a una red coaxial mantenida por un proveedor de televisión por cable.
El sitio de distribución de contenido de páginas web 120 representa un ejemplo de un proveedor de servicios de páginas web. El sitio de distribución de contenido de páginas web 120 se puede configurar para proporcionar contenido basándose en hipertexto a uno o más de los dispositivos informáticos 102A a 102N a través de la red pública 108. Se debería hacer notar que el contenido basándose en hipertexto puede incluir contenido de audio y de vídeo. El contenido de hipertexto se puede definir de acuerdo con los lenguajes de programación, tales como, por ejemplo, lenguaje de marcado de hipertexto (HTML), HTML dinámico y lenguaje de marcado extensible (XML). Los ejemplos de sitios de distribución de contenido de páginas web incluyen el sitio web de la Oficina de Marcas y Patentes de los Estados Unidos.
La figura 2A es un diagrama de bloques que ilustra un ejemplo de un dispositivo informático que puede implementar una o más técnicas de la presente divulgación. El dispositivo informático 200 es un ejemplo de un dispositivo informático que puede ser configurado para transmitir datos y recibir datos de una red de comunicaciones, permitir a un usuario acceder a contenido multimedia y ejecutar una o más aplicaciones. El dispositivo informático 200 puede incluir o ser parte de un dispositivo informático estacionario (por ejemplo, un ordenador de escritorio, una televisión, un descodificador de salón, una consola de juegos, un dispositivo de transmisión por secuencias multimedia dedicado o una grabadora de vídeo digital), un dispositivo informático portátil (por ejemplo, un teléfono móvil, un ordenador portátil, un asistente de datos personales (PDA) o un dispositivo de tipo tableta) u otro tipo de dispositivo informático. En el ejemplo ilustrado en la figura 2A, el dispositivo informático 200 está configurado para enviar y recibir datos a través de una red de televisión, tal como, por ejemplo, la red de televisión 106 descrita anteriormente y enviar y recibir datos a través de una red pública, tal como, por ejemplo, la red pública 108. Se debería hacer notar que en otros ejemplos, el dispositivo informático 200 se puede configurar para enviar y recibir datos a través de una red de televisión 106 o una red pública 108. Los ordenadores descritos en el presente documento pueden ser utilizados por dispositivos configurados para comunicarse usando todas y cada una de las combinaciones de las redes de comunicaciones.
Como se ilustra en la figura 2A, el dispositivo informático 200 incluye una unidad o unidades de procesamiento central 202, una memoria de sistema 204, una interfaz de sistema 210, un módem 212, un módulo de transporte 214, un demux de AV 216, una interfaz de red 218, dispositivos de almacenamiento 220, dispositivos de E/S 222, descodificador de audio 224, procesador de audio 226, descodificador de vídeo 228, unidad de procesamiento de gráficos 230 y procesador de visualización 232. Como se ilustra en la figura 2A, la memoria de sistema 204 incluye el sistema operativo 206 y las aplicaciones 208. Cada uno del procesador o procesadores 202, la memoria de sistema 204, la interfaz de sistema 210, el módem 212, el módulo de transporte 214, el demux de AV 216, la interfaz de red 218, los dispositivos de almacenamiento 220, los dispositivos de E/S 222, el descodificador de audio 224, el procesador de audio 226, el descodificador de vídeo 228, la unidad de procesamiento de gráficos 230 y el procesador de visualización 232 pueden estar interconectados (física, comunicativa y/u operativamente) para comunicaciones intercomponentes y pueden ser implementados como cualquiera de una diversidad de circuitos adecuados, tales como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados específicos de aplicación (ASIC), arreglos de portal programables de campo (FPGA), lógica discreta, software, hardware, firmware o cualquier combinación de los mismos. Se debería hacer notar que, aunque el ejemplo de dispositivo informático 200 se ilustra como teniendo bloques funcionales distintos, tal ilustración es para fines descriptivos y no limita el dispositivo informático 200 a una arquitectura de hardware particular. Las funciones del dispositivo informático 200 se pueden lograr usando cualquier combinación de implementaciones de hardware, firmware y/o software.
La o las CPU 202 se pueden configurar para implementar funcionalidad y/o instrucciones de proceso para ejecución en el dispositivo informático 200. La o las CPU 202 pueden ser capaces de recuperar y procesar instrucciones, código y/o estructuras de datos para implementar una o más de las técnicas descritas en el presente documento. Las instrucciones se pueden almacenar en un medio legible por ordenador, tal como la memoria 204 del sistema o los dispositivos de almacenamiento 220. La o las CPU 202 pueden incluir unidades de procesamiento central de múltiples núcleos.
La memoria de sistema 204 puede ser descrita como un medio de almacenamiento no transitorio o tangible, legible por ordenador. En algunos ejemplos, la memoria 204 del sistema puede proporcionar almacenamiento temporal y/o de largo plazo. En algunos ejemplos, la memoria de sistema 204 o porciones de la misma se pueden describir como memoria no volátil y en otros ejemplos las porciones de la memoria de sistema 204 se pueden describir como memoria volátil. Los ejemplos de memorias volátiles incluyen memorias de acceso de aleatorio (RAM), memorias de acceso de aleatorio dinámicas (DRAM) y memorias de acceso de aleatorio estáticas (SRAM). Los ejemplos de memorias no volátiles incluyen discos duros magnéticos, discos ópticos, discos flexibles, memorias flash o formas de memorias eléctricamente programables (EPROM) o memorias eléctricamente borrables y programables (EEPROM).
La memoria 204 del sistema se puede configurar para almacenar información que puede ser usada por el dispositivo informático 200 durante la operación. La memoria de sistema 204 se puede usar para almacenar instrucciones de programa para su ejecución por la o las CPU 202 y puede ser usada mediante software o aplicaciones que se ejecutan en el dispositivo informático 200 para almacenar temporalmente información durante la ejecución del programa. Por ejemplo, la memoria 204 del sistema puede almacenar instrucciones asociadas con el sistema operativo 206 y las aplicaciones 208. Las aplicaciones 208 pueden incluir aplicaciones implementadas en o ejecutadas por el dispositivo informático 200 y pueden ser implementadas o contenidas en, operables por, ejecutadas por y/o ser operativa/comunicativamente acoplados a componentes del dispositivo informático 200. Las aplicaciones 208 pueden incluir instrucciones que pueden hacer que la o las CPU 202 del dispositivo informático 200 realicen funciones particulares. En un ejemplo, las aplicaciones 208 pueden hacer que el dispositivo informático 200 realice funciones asociadas con las técnicas de recorrido circular de canales descritas en el presente documento. Las aplicaciones 208 pueden incluir algoritmos que se expresan en sentencias de programación informática, tales como, bucles de tipo para, bucles de tipo mientras, sentencias de tipo si, bucles de tipo hacer, etc. Las aplicaciones 208 pueden ser distribuidas al dispositivo informático 200 a través de un sitio de distribución de aplicaciones.
Como se ilustra adicionalmente en la figura 2A, las aplicaciones 208 se pueden ejecutar conjuntamente con el sistema operativo 206. Es decir, el sistema operativo 206 se puede configurar para facilitar la interacción de aplicaciones 208 con la o las CPU 202 y otros componentes de hardware del dispositivo informático 200. Se debería hacer notar que en algunos ejemplos, los componentes del sistema operativo 206 y los componentes que actúan conjuntamente con el sistema operativo 206 se pueden denominar middleware. Los ordenadores descritos en el presente documento pueden ser utilizados por dispositivos configurados para operar usando cualquier combinación de arquitecturas de software. El sistema operativo 206 puede ser un sistema operativo diseñado para ser instalado en ordenadores portátiles, ordenadores de escritorio, teléfonos inteligentes, tabletas, descodificadores de salón, grabadoras de vídeo digital, dispositivos de videojuegos y/o juegos. En un ejemplo, el sistema operativo 206 puede incluir uno o más de los sistemas operativos o componentes de middleware desarrollados por OpenTV, sistemas operativos Windows, sistemas operativos Linux, sistemas operativos Mac, sistemas operativos Android y todas y cada una de sus combinaciones.
La interfaz de sistema 210 se puede configurar para posibilitar comunicaciones entre componentes del dispositivo informático 200. En un ejemplo, la interfaz de sistema 210 comprende estructuras que posibilitan transferir datos desde un dispositivo igual a otro dispositivo igual o a un medio de almacenamiento. Por ejemplo, la interfaz 210 del sistema puede incluir un conjunto de chips que soporta protocolos basados en el puerto de gráficos acelerados ("AGP"), protocolos basados en buses de Interconexión de componentes periféricos (PCI), tales como, por ejemplo, la especificación de buses de PCI Express™ ("PCIe") que es mantenida por el Grupo de Interés Especial de Interconexión de Componentes Periféricos o cualquier otra forma de estructura que pueda ser usada para interconectar dispositivos iguales.
Los dispositivos de almacenamiento 220 representan la memoria del dispositivo informático 200 que se puede configurar para almacenar cantidades relativamente mayores de información durante periodos de tiempo relativamente más largos que la memoria 204 del sistema. Por ejemplo, en el ejemplo en el que el dispositivo informático 200 está incluido como parte de una grabadora de vídeo digital, los dispositivos de almacenamiento 220 se pueden configurar para almacenar numerosos archivos de vídeo. En un ejemplo, el dispositivo o dispositivos de almacenamiento 220 pueden incluir una o más memorias intermedias de revisión. Similar a la memoria 204 del sistema, el dispositivo o dispositivos de almacenamiento 220 pueden incluir también uno o más medios de almacenamiento legibles por ordenador no transitorios o tangibles. El dispositivo o dispositivos de almacenamiento 220 pueden incluir dispositivos de memoria interna y/o externa y en algunos ejemplos pueden incluir elementos de almacenamiento volátiles y no volátiles.
Los dispositivos de E/S 222 se pueden configurar para recibir la entrada y proporcionar salida durante la operación del dispositivo informático 200. La entrada se puede generar desde un dispositivo de entrada, tal como, por ejemplo, un control remoto de botón de empuje, un control remoto basado en movimiento, un dispositivo que incluye una pantalla sensible el toque, un dispositivo que incluye un panel táctil, un ratón, un teclado, un micrófono, una S cámara de vídeo, un sensor de movimiento o cualquier otro tipo de dispositivo configurado para recibir entradas del usuario. En un ejemplo, un dispositivo de entrada puede incluir un dispositivo avanzado de entrada del usuario, tal como un teléfono inteligente o un dispositivo informático de tipo tableta. Por ejemplo, un dispositivo de entrada puede ser un dispositivo informático secundario y se puede configurar para recibir entradas del usuario mediante gestos táctiles, botones en el dispositivo informático secundario y/o control de voz. Además, en algunos ejemplos, un dispositivo de entrada puede incluir una pantalla que está configurada para mostrar las interfaces gráficas de usuario descritas en el presente documento. Por ejemplo, en el caso en el que el dispositivo informático 200 incluye una televisión, un dispositivo de entrada puede incluir un teléfono inteligente en comunicación con la televisión. En este ejemplo, un usuario puede proporcionar comandos a una televisión mediante la activación de partes de una interfaz gráfica dé usuario visualizadas en un teléfono inteligente. La interfaz gráfica de usuario que se muestra en el teléfono inteligente puede ser una réplica o una extensión de una interfaz gráfica de usuario que se muestra en la televisión. Se puede proporcionar salida a dispositivos de salida, tales como, por ejemplo, altavoces internos, un dispositivo de visualización integrado y/o componentes externos, tales como, un dispositivo informático secundario. En algunos ejemplos, el dispositivo o dispositivos de E/S 222 se pueden acoplar operativamente al dispositivo informático 200 usando un protocolo de comunicación normalizado, tal como por ejemplo, el protocolo de Bus Serie Universal (USB), Bluetooth, ZigBee o un protocolo de comunicaciones propietario, tal como, por ejemplo, un protocolo de comunicaciones por infrarrojos propietario.
La figura 2B es un diagrama conceptual que ilustra un ejemplo de un dispositivo de entrada/salida que puede implementar una o más técnicas de la presente divulgación. En el ejemplo ilustrado en la figura 2B, el dispositivo de E/S 222 está ilustrado como un control remoto de botón de empuje. Se debería hacer notar que, aunque el dispositivo de E/S 222 se ilustra como un control remoto de botón de empuje en el ejemplo ilustrado en la figura 2B, en otros ejemplos, la funcionalidad del dispositivo de E/S 222 se puede implementar usando otros tipos de dispositivos de E/S, tales como, por ejemplo, un dispositivo informático secundario en comunicación con un dispositivo informático primario. Además, en otros ejemplos, las funciones conseguidas mediante la activación de botones del dispositivo de E/S 222 se pueden conseguir a través de otros tipos de entradas de usuario. Por ejemplo, en el caso en el que un dispositivo de E/S incluya una pantalla táctil, reconocimiento de gestos y/o reconocimiento de voz, se pueden presentar botones virtuales en la pantalla táctil y se pueden lograr funciones conseguidas mediante la activación de botones en el dispositivo de E/S 222 a través de todas y cada una de las combinaciones de activación de botón virtual, gestos de movimiento y/o comandos de voz. En un ejemplo, un dispositivo de E/S puede tener capacidades de reconocimiento de voz y una función conseguida por la activación del botón de ciclo 290 puede ser alcanzada por un usuario que diga "Ciclo", "Recorrido circular" o una frase similar.
En el ejemplo ilustrado en la figura 2B, el dispositivo de E/S 222 incluye controles 260 básicos de televisión, controles de reproducción 270 y controles de navegación 280. Los controles básicos de televisión 260 se pueden configurar para posibilitar a un usuario realizar funciones básicas de control de sintonización y de volumen asociadas con la programación de televisión. Además, en un ejemplo, los controles básicos de la televisión pueden posibilitar a un usuario realizar una o más de las funciones de recorrido circular de canales descritas en el presente documento. Como se ilustra en la figura 2B, los controles básicos de televisión 260 incluyen el teclado numérico 261, el botón de entrada 262, el botón de canal previo 263, los botones de cambio de canal 264, los botones de control de volumen 265 y el botón de ciclo 290. El teclado numérico 261, el botón de entrada 262, el botón de canal previo 263, los botones de cambio de canal 264 y el botón de ciclo 290 se pueden configurar para posibilitar a un usuario sintonizar un canal analógico y/o digital en particular. Cuando un usuario introduce una secuencia de números con uso del teclado numérico 261 y, opcionalmente, activa adicionalmente la tecla de entrada 262, un sintonizador puede sintonizar un canal especificado. Al activarse el botón de canal previo 263, un sintonizador puede sintonizar un canal previamente sintonizado. La activación de los botones de canal "+" y "-" 264 puede, respectivamente, hacer que un sintonizador sintonice el canal siguiente respectivo en una secuencia de canales. La activación de los botones de control de volumen "+" y "-" 265 puede, respectivamente, hacer que la salida de un sistema de audio se incremente o disminuya. La activación del botón de ciclo 290 puede hacer que el dispositivo informático realice una o más de las funciones de recorrido circular de canales descritas en el presente documento. En un ejemplo, el botón de ciclo 290 se puede configurar solo para realizar funciones de recorrido circular de canales descritas en el presente documento y de esta manera puede ser un botón de recorrido circular de canales dedicado. Se debería hacer notar que, aunque los controles 260 básicos de televisión se pueden configurar para posibilitar a un usuario realizar funciones básicas de control de sintonización y de volumen asociadas con una televisión, en algunos ejemplos, los controles básicos de televisión 260 se pueden usar para realizar otras funciones asociadas con un dispositivo informático.
Los controles de reproducción 270 se pueden configurar para posibilitar a un usuario controlar la reproducción de y/o grabación de contenido multimedia. Por ejemplo, los controles de reproducción 270 pueden posibilitar a un usuario controlar la reproducción de un vídeo originado en un sitio de proveedor de servicios de medios, un motor a petición y/o una grabadora de vídeo personal (PVR). Como se ilustra en la figura 2B, los controles de reproducción 270 incluyen el botón de invertir reproducción 271, el botón de reproducción normal 272, el botón de adelantar reproducción 273, el botón de detener reproducción 274, el botón de pausa de reproducción 275 y el botón de grabación 276. El botón de invertir reproducción 271 puede posibilitar a un usuario navegar a un punto previo en una secuencia multimedia. En un ejemplo, la activación del botón de invertir reproducción 270 puede hacer que se acceda a una porción previamente presentada de contenido de una memoria intermedia de revisión. Al activarse, el botón de reproducción normal 272 puede hacer que la reproducción normal de un elemento de contenido multimedia comience o se reanude. El botón de adelantar reproducción 273 puede posibilitar a un usuario navegar a un punto futuro de una secuencia multimedia. Al activarse, el botón de detener reproducción 274 puede hacer que se detenga la reproducción de un elemento de contenido multimedia. Al activarse el botón de pausa de reproducción 275 se puede hacer que se detenga en pausa la reproducción de un elemento de contenido multimedia. El botón de grabación 276 puede posibilitar a un usuario hacer que un elemento de contenido multimedia sea almacenado en un dispositivo de almacenamiento. En un ejemplo, el botón de grabación 276 puede posibilitar a un usuario grabar contenido en un dispositivo de almacenamiento. Se debería hacer notar que, aunque los controles de reproducción 270 se pueden configurar para posibilitar a un usuario controlar la reproducción de y/o grabar contenido multimedia, en algunos ejemplos los controles de reproducción 270 se pueden usar para realizar otras funciones asociadas con un dispositivo informático.
Como se describió anteriormente, los dispositivos con capacidades de reproducción de medios digitales, incluyendo, por ejemplo, televisiones, descodificadores de salón y dispositivos móviles, se pueden configurar para proporcionar a los usuarios de los mismos interfaces gráficas de usuario que posibiliten la selección de contenido. Los controles de navegación 280 se pueden configurar para posibilitar a un usuario navegar por las interfaces gráficas de usuario y seleccionar canales asociados con una función de recorrido circular de canales descrita en el presente documento. En un ejemplo, los controles de navegación 280 se pueden configurar para posibilitar a un usuario navegar por interfaces gráficas de usuario y seleccionar canales asociados con una función de recorrido circular de canales descrita en el presente documento. Por ejemplo, los controles de navegación 208 pueden posibilitar a un usuario seleccionar uno o más canales que se van a eliminar de un recorrido circular como se describe a más adelante con respecto a la figura 7.
En el ejemplo ilustrado en la figura 2B, los controles de navegación 280 incluyen botones de flecha de navegación 281, botón de selección 282, botón de información 283, botón de menú 284, botón de guía 285, botón de retroceso 286 y botón de salida 287. Los botones de flecha de navegación 281 se pueden configurar para mover la posición de un cursor asociado con una interfaz gráfica de usuario y/o cambiar la selección de un elemento incluido en una interfaz gráfica de usuario. Por ejemplo, los botones de flecha de navegación 281 pueden posibilitar al usuario cambiar la selección de un icono incluido en la interfaz gráfica de usuario ilustrada en la figura 7.
El botón de selección 282 puede posibilitar a un usuario seleccionar además un icono. Como se describe con detalle más adelante, un usuario puede seleccionar un icono que representa un canal. En un ejemplo, las activaciones consecutivas del botón de selección 282 pueden provocar que se produzcan los respectivos niveles de selección. El botón de información 283 puede ser configurado para hacer que se muestre información adicional asociada con un ítem de contenido. Por ejemplo, cuando se selecciona inicialmente un icono que representa un elemento de contenido, la activación del botón de información 283 puede causar que se muestre información asociada con el contenido (por ejemplo, la información del reparto y el equipo).
El botón de menú 284, el botón de guía 285, el botón de retroceso 286 y el botón de salida 287 se pueden configurar para posibilitar a un usuario hacer que se presente diferentes interfaces gráficas de usuario. Al activarse, el botón de menú 284 puede hacer que se visualice una interfaz gráfica de usuario que incluye un menú de alto nivel. En un ejemplo, un menú de alto nivel puede incluir un menú que posibilita a un usuario cambiar las configuraciones asociadas con la operación de un dispositivo informático. En un ejemplo, un menú de alto nivel puede incluir un menú que posibilita a un usuario seleccionar un perfil de usuario (por ejemplo, una interfaz gráfica de usuario de usuario de inicio de sesión). Al activarse, el botón de guía 285 se puede configurar para proporcionar una interfaz gráfica de usuario que posibilita a un usuario seleccionar el contenido. En un ejemplo, al activarse el botón de guía 285, se puede presentar una interfaz gráfica de usuario que incluye una guía de cuadrícula a un usuario.
El botón de retroceso 286 se puede configurar para posibilitar a un usuario volver a una interfaz gráfica previa de usuario. El botón de salida 287 se puede configurar para posibilitar a un usuario volver al modo de visualización de pantalla completa. Por ejemplo, cuando se muestra una interfaz gráfica de usuario, al activarse el botón de salida 287, la interfaz gráfica de usuario puede "desaparecer" y el modo de visualización de contenido de pantalla completa puede ser presentado a un usuario.
Con referencia otra vez a la figura 2A, el dispositivo informático 200 está configurado para enviar y recibir datos a través de una red de televisión, tal como, por ejemplo, la red de televisión 106 descrita anteriormente y enviar y recibir datos a través de una red pública, tal como, por ejemplo, la red pública 108. Como se describe antes, se puede describir una red de comunicaciones basándose en un modelo que incluye capas que definen propiedades de comunicación, tales como, por ejemplo, señalización física, direccionamiento, control de acceso de canal, propiedades de paquete y procesamiento de datos en un sistema de comunicaciones. En el ejemplo ilustrado en la figura 2A, el módem 212, el módulo de transporte 214 y el demux de AV 216 se pueden configurar para llevar a cabo el procesamiento de capa inferior asociado con la red de televisión 106 y la interfaz de red 218 se puede configurar para llevar a cabo procesamiento de capa inferior asociada con la red pública 108.
En un ejemplo, el módem 212 se puede configurar para realizar señalización física, direccionamiento y control de acceso de canal de acuerdo con las capas físicas y de MAC utilizadas en una red de proveedor de televisión, tales como, por ejemplo, la red de proveedor de televisión 106. En un ejemplo, el módem 212 se puede configurar para recibir señales de un cable coaxial y/o una señal por aire y realizar un procesamiento de señal de bajo nivel (por ejemplo, demodulación). En un ejemplo, el módem 212 se puede configurar para extraer secuencias de transporte de señales recibidas de un cable coaxial. En un ejemplo, una secuencia de transporte puede estar basada en una secuencia de transporte definida por el Grupo de Expertos en Imágenes en Movimiento (MPEG). En un ejemplo, una secuencia de transporte puede incluir una pluralidad de secuencias de programa en donde cada secuencia de programa corresponde respectivamente a un programa disponible desde una red de televisión. Además, una secuencia de transporte puede incluir una pluralidad de secuencias de datos (por ejemplo, tabla de mapa de programa y datos EPG).
El módulo de transporte 214 se puede configurar para recibir datos del módem 212 y datos recibidos del proceso. Por ejemplo, el modelo de transporte 214 se puede configurar para recibir una secuencia de transporte que incluye una pluralidad de secuencias de programa y extraer secuencias de programa individuales de una secuencia de transporte recibida. En un ejemplo, una secuencia de programa puede incluir una secuencia de vídeo, una secuencia de audio y una secuencia de datos. El demux de AV 216 se puede configurar para recibir datos del módulo de transporte 214 y datos de proceso recibidos. Por ejemplo, el demux de AV 216 se puede configurar para recibir una secuencia de programa del módulo de transporte 214 y extraer paquetes de audio, paquetes de vídeo y paquetes de datos. Es decir, el demux de AV 216 puede aplicar técnicas de desmultiplexación para separar secuencias de vídeo, secuencias de audio y secuencias de datos de una secuencia de programa. En un ejemplo, el demux de AV 216 se puede configurar para desencapsular secuencias de vídeo y audio elementales empaquetados de una secuencia de transporte definida de acuerdo con la Parte 1 de MPEG-2. Se debería hacer notar que, aunque el módem 212, el módulo de transporte 214 y el demux de AV 216 están ilustrados como bloques funcionales distintos, las funciones realizadas por el módem 212, el módulo de transporte 214 y el demux de AV 216 pueden estar sumamente integradas y lograrse usando cualquier combinación de implementaciones de hardware, firmware y/o software.
La interfaz de red 218 se puede configurar para posibilitar que el dispositivo informático 200 envíe y reciba datos a través de una red pública. Como se describió anteriormente, los datos enviados o recibidos a través de una red pública pueden incluir datos asociados a contenidos digitales, tales como, por ejemplo, música, vídeos, imágenes, páginas web, mensajes, comunicaciones de voz y aplicaciones. La interfaz de red 218 puede incluir una tarjeta de interfaz de red, tal como una tarjeta Ethernet, un transceptor óptico, un transceptor de radiofrecuencia o cualquier otro tipo de dispositivo configurado para enviar y recibir información. La interfaz de red 218 se puede configurar para realizar señalización física, direccionamiento y control de acceso de canal de acuerdo con las capas físicas y de mAc utilizadas en una red pública, tal como, por ejemplo, la red pública 108. Además, de una manera similar a la descrita anteriormente con respecto al módulo de transporte 214 y el demux de A/V 216, la interfaz de red 218 se puede configurar para extraer paquetes de audio, paquetes de vídeo y paquetes de datos de una secuencia de datos. Por ejemplo, la interfaz de red 218 se puede configurar para extraer paquetes de vídeo, paquetes de audio y paquetes de datos de acuerdo con uno o más de protocolo de Internet (IP), protocolo de control de transporte (TCP), protocolo de transmisión por secuencias en tiempo real (RTSP), protocolo de datagramas de usuario (UDP), protocolo en tiempo real (RTP), protocolos de secuencias de transporte de MPEG y protocolos de IPTV. Se debería hacer notar que las técnicas descritas en el presente documento son generalmente aplicables a todos y cada uno de los métodos de distribución de contenido digital y no se limitan a implementaciones de redes de comunicaciones particulares. Por ejemplo, las técnicas descritas en el presente documento pueden ser aplicables a contenidos digitales que se originan en una o más de una radiodifusión, una multidifusión, una unidifusión, una fuente de contenido de libre transmisión, una grabadora de vídeo personal (PVR) y una fuente de contenido entre iguales.
Con referencia otra vez a la figura 2A, los datos asociados con el contenido digital, tales como, por ejemplo, música, vídeos, imágenes, páginas web, mensajes, comunicaciones de voz y aplicaciones pueden ser almacenados en un medio legible por ordenador, como, por ejemplo, la memoria 204 del sistema y los dispositivos de almacenamiento 220. Los datos almacenados en un dispositivo de memoria pueden ser recuperados y procesados por la o las CPU 202, descodificador de audio 224, procesador de audio 226, descodificador de vídeo 228, unidad de procesamiento de gráficos 230 y procesador de visualización 232. Como se describió anteriormente, la o las CPU 202 pueden ser capaces de recuperar y procesar instrucciones, código y/o estructuras de datos para implementar una o más de las técnicas descritas en el presente documento. Cada uno del descodificador de audio 224, el procesador de audio 226, el descodificador de vídeo 228, la unidad de procesamiento de gráficos 230 y el procesador de visualización 232 también puede ser capaz de recuperar y procesar instrucciones, código y/o estructuras de datos para implementar una o más de las técnicas descritas en el presente documento.
El descodificador de audio 224 puede estar configurado para recuperar y procesar datos de audio codificados. Por ejemplo, el descodificador de audio 224 puede ser una combinación de hardware y software usada para implementar aspectos del códec de audio. Los datos de audio se pueden codificar con uso de formatos de múltiples canales tales como aquéllos desarrollados por Dolby y Digital Theater Systems. Los datos de audio se pueden codificar usando un formato comprimido o sin comprimir. Los ejemplos de formatos de audio comprimidos incluyen las Capas de Audio Il y III de MPEG-1, 2, AC-3, AAC y Ogg Vorbis. Un ejemplo de un formato de audio sin comprimir incluye el formato de audio de modulación de código de pulso (PCM). El procesador de audio 226 puede estar configurado para recuperar muestras de audio capturadas y puede procesar datos de audio para salida a un sistema de audio (no mostrado). En algunos ejemplos, el procesador de audio 226 puede incluir un convertidor de digital a analógico. Un sistema de audio puede comprender cualquiera de una diversidad de dispositivos de salida de audio tales como auriculares, un sistema de un solo altavoz, un sistema de múltiples altavoces o un sistema de sonido envolvente.
El descodificador de vídeo 228 puede ser configurado para recuperar y procesar datos de vídeo codificados. Por ejemplo, el descodificador de vídeo 228 puede ser una combinación de hardware y software usada para implementar aspectos del códec de vídeo. En un ejemplo, el descodificador de vídeo 228 puede ser configurado para descodificar datos de vídeo codificados de acuerdo con cualquier número de normas de compresión de vídeo, tales como H.261 de UIT-T, MPEG-1 Visual de ISO/IEC, H.262 de UIT-T o MPEG-2 Visual de ISO/IEC, H.263 de UIT-T, MPEG-4 Visual de ISO/IEC, H.264 de UIT-T (también conocido como MPEG-4 AVC de ISO/IEC), VP8 y Codificación de Vídeo de Eficiencia Alta (HEVC).
Como se describió anteriormente, un dispositivo con capacidades de reproducción de medios puede proporcionar una interfaz gráfica de usuario (por ejemplo, un EPG) que posibilita a un usuario seleccionar contenido. Una interfaz gráfica de usuario puede incluir imágenes y gráficas mostradas en conjunto con contenido de vídeo (por ejemplo, iconos de reproducción sobrepuestos en un vídeo). La unidad de procesamiento de gráficos 230 es un ejemplo de una unidad de procesamiento dedicada que puede ser configurada para generar interfaces gráficas de usuario, incluyendo las interfaces gráficas de usuario descritas en el presente documento. Es decir, la unidad de procesamiento de gráficos 230 se puede configurar para recibir comandos y datos de contenido y datos de píxeles de salida. La unidad de procesamiento de gráficos 230 puede operar de acuerdo con un proceso de tubería de gráficos (por ejemplo, ensamblador de entrada, sombreador de vértices, sombreador de geometría, rasterizador, sombreador de píxeles y fusión de salida). La unidad de procesamiento de gráficos 230 puede incluir múltiples núcleos de procesamiento y se puede configurar para operar de acuerdo con OpenGL (Open Graphic Library, Biblioteca Gráfica Abierta, gestionada por el Grupo Khronos) y/o Direct3D (gestionado por Microsoft, Inc.).
El procesador de visualización 232 puede ser configurado para recuperar y procesar datos de píxeles para visualización. Por ejemplo, el procesador de visualización 232 puede recibir datos de píxeles del descodificador de vídeo 228 y/o la unidad de procesamiento de gráficos 230 y datos de salida para visualización. El procesador de visualización 232 se puede acoplar a una pantalla, tal como la pantalla 250 (no mostrada en la figura 1) usando un protocolo de comunicación normalizado (por ejemplo, HDMI, d V i, DisplayPort, vídeo componente, vídeo compuesto y/o VGA). La pantalla 250 puede comprender uno de una diversidad de dispositivos de visualización tal como una pantalla de cristal líquido (LCD), una pantalla de plasma, una pantalla de diodo emisor de luz orgánico (OLED) u otro tipo de dispositivo de visualización capaz de presentar datos de vídeo a un usuario. La pantalla 250 puede incluir una televisión de definición convencional, una televisión de alta definición o una pantalla de ultra resolución, como se describió anteriormente. Además, la pantalla 250 puede incluir una pantalla integrada de un dispositivo informático portátil (por ejemplo, un teléfono móvil, un ordenador portátil, un asistente personal de datos (PDA) o un dispositivo de tipo tableta). Como se describió anteriormente, en algunos ejemplos un dispositivo informático portátil puede operar como un dispositivo de E/S para un dispositivo informático estacionario.
Como se describió anteriormente, por ejemplo, con respecto a la figura 3, las funciones de recuperación de canal previo convencionales pueden no ser en absoluto ideales. Las figuras 4 a 5 son diagramas conceptuales que ilustran una función de recuperación de canal de ejemplo que se pueden implementar de acuerdo con una o más de las técnicas descritas en el presente documento. En los ejemplos ilustrados en las figuras 4 a 5, un dispositivo informático (por ejemplo, una televisión digital o un descodificador de salón) pueden clasificar, respectivamente, los canales como un canal que un usuario está viendo actualmente (por ejemplo, que se presenta actualmente en una pantalla) y uno o más canales de ciclo (por ejemplo, Ciclo 1 - Ciclo N). Como se describe en detalle a continuación, un canal de ciclo se puede referir a un canal que un usuario puede ser capaz de recuperar (por ejemplo, causa que se presenta en una pantalla) usando una función de ciclo. Se debería hacer notar que el término "ciclo" puede ser una forma abreviada para rotación y se puede referir generalmente a una función que posibilita a un usuario rotar/recorrer circularmente un subconjunto de canales disponibles. En un ejemplo, el subconjunto de canales se pueden denominar canales de ciclo o pila de ciclo y cada canal en el subconjunto se puede denominar canal de ciclo. Las técnicas descritas en el presente documento se pueden usar para añadir/quitar/reemplazar canales en un subconjunto, recorrer circularmente canales en un subconjunto y/o gestionar memorias intermedias de revisión asociadas con tales canales.
En el ejemplo ilustrado en la figura 4, un dispositivo informático puede ser configurado para incluir cualquier número de canales de ciclo. En el ejemplo ilustrado en la figura 5, un ejemplo de dispositivo informático está configurado para implementar un máximo de cuatro canales de ciclo. Se debería hacer notar que las técnicas descritas en el presente documento no se limitan a un máximo de cuatro canales de ciclo. En un ejemplo, un dispositivo informático puede ser configurado para posibilitar a un usuario establecer explícitamente un número máximo de canales de ciclo (por ejemplo, a través de un menú de configuración). Por ejemplo, un usuario puede desear recorrer circularmente un número de eventos deportivos que se transmiten simultáneamente (por ejemplo, ocho eventos deportivos en vivo). En otro ejemplo, un usuario puede desear recorrer circularmente un número de programas de tipo telerrealidad que se están transmitiendo simultáneamente (por ejemplo, tres programas de tipo telerrealidad). Por lo tanto, en un ejemplo, un usuario puede ser capaz de establecer dinámicamente el número máximo de canales de ciclo basándose en las preferencias del usuario.
La figura 4 ilustra un ejemplo de un usuario que establece canales como canales de ciclo (es decir, que rellena una pila de ciclo) y que recorren circularmente canales de ciclo. Como se ilustra en la figura 4, en un momento inicial (to), se enciende un dispositivo informático. En el ejemplo ilustrado en la figura 4, en 0 , se inicia un dispositivo informático con un canal que está viendo un usuario (por ejemplo, un canal actualmente sintonizado que se está mostrando) y está disponible una pluralidad de canales de ciclo (es decir, no hay ningún canal asociado actualmente). Se debería hacer notar que, aunque en el ejemplo ilustrado en la figura 4 cada uno de los canales de ciclo se inicia como disponible, en otros ejemplos, cada uno de Ciclo 1 - Ciclo N puede estar asociado con canales predeterminados. Por ejemplo, Ciclo 1 - Ciclo N puede ser iniciado con los canales favoritos de un usuario (por ejemplo, canales más frecuentemente vistos, canales establecidos explícitamente por un usuario y/o canales determinados por un algoritmo predictivo). Además, se debería hacer notar que en algunos ejemplos, un dispositivo informático se puede configurar para presentar simultáneamente múltiples canales (por ejemplo, una presentación denominada Imagen en Imagen). En un ejemplo, el canal que se ve en la figura 4 puede estar asociado con un canal que se muestra en una ventana de presentación principal y cada una de Ciclo 1 - Ciclo N puede estar asociada con ventanas de presentación auxiliares.
En el ejemplo ilustrado en la figura 4, un usuario que ejecuta una operación de ciclo puede corresponder a un usuario que activa el botón de ciclo 290, lo que hace que las operaciones asociadas con una función de ciclo sean ejecutadas. De esta manera, como se describe con más detalle a continuación con respecto a la figura 6, se puede rellenar una pila de ciclo (por ejemplo, canales añadidos y sustituidos) y un usuario puede recorrer circularmente una pila de ciclo usando un solo botón dedicado. En otros ejemplos, las operaciones de ciclo se pueden asociar con múltiples botones, botones que pueden estar, o no, dedicados a operaciones de ciclo. Por ejemplo, en un ejemplo, un dispositivo de E/S puede incluir botones dedicados de "Añadir a Ciclo" y "Recorrer circularmente" y, en este sentido, las operaciones de relleno de la pila de ciclo y de recorrido circular de pila de ciclo pueden estar asociadas con entradas distintas. Además, en otros ejemplos, las operaciones de ciclo pueden corresponder a botones que tienen otras funciones. Por ejemplo, las flechas de navegación 281 y/o las interfaces gráficas asociadas de usuario se pueden usar para ejecutar operaciones de ciclo. Por ejemplo, en algunos casos la ejecución de la flecha de navegación "hacia arriba" puede ser equivalente a la activación del botón de ciclo 290. Por lo tanto, las técnicas descritas en el presente documento no están limitadas a un dispositivo de E/S específico.
Con referencia otra vez a la figura 4, en ti, un usuario ejecuta una operación de ciclo (por ejemplo, activa el botón de ciclo 290) que hace que el canal que el usuario está viendo actualmente (es decir, el canal 100) se asocie con Ciclo 1. En t2, un usuario sintoniza el canal 107 (por ejemplo, usando el teclado numérico 261 o canal arriba/abajo 264), lo que hace que el canal 107 se convierta en el canal que se está presentando actualmente. En t3, un usuario ejecuta una operación de ciclo que hace que el canal que el usuario está viendo actualmente (es decir, el canal 107) se asocie con Ciclo 2. De esta manera, en la ejecución de t1 y t3 de una operación de ciclo, hace que se añadan canales a una pila de ciclo. En t4, un usuario ejecuta una operación de ciclo consecutiva que hace que el canal 100 sea recuperado (por ejemplo, se convierte en el canal que se muestra en una presentación principal). En fe, un usuario ejecuta otra operación de ciclo consecutiva que hace que el canal 107 sea recuperado. De esta manera, en la ejecución de t4 y ts de una operación de ciclo, hace que se recupere un canal de ciclo. Es decir, en un ejemplo, como se describe con respecto a la figura 6, si el canal que el usuario está viendo actualmente ya está en la pila de ciclo, la activación del botón de ciclo 290 hace que se produzca el recorrido circular y si el canal que el usuario está viendo actualmente no está en la pila de ciclo, la activación del botón de ciclo 290 puede hacer que el canal se asocie con un canal de ciclo disponible. En té-tx, un usuario continúa rellenando una pila de ciclo (es decir, añade el canal 108 en t>) y recupera canales en una pila de ciclo (es decir, recorre circularmente los canales 100, 107 y 108 en ts-tio) ejecutando operaciones de ciclo. De esta manera se puede configurar un dispositivo informático para determinar si un canal presentado actualmente está incluido en un subconjunto de canales y basándose en si el canal actualmente presentado está incluido en el subconjunto de canales, realizar uno de añadir el canal actualmente presentado al subconjunto de los canales o hacer que se presente un canal incluido en el subconjunto de canales.
Como se describió anteriormente, una pila de ciclo puede incluir un número máximo de canales de ciclo. Es decir, puede existir un escenario en el que no hay canales de ciclo disponibles (es decir, cada canal de ciclo está asociado con un canal), se está presentando actualmente un canal que no está en la pila de ciclo y un usuario ejecuta una operación de ciclo. La figura 5 ilustra un ejemplo en el que un usuario ejecuta una operación de ciclo cuando se está presentando un canal que no está actualmente en una pila de ciclo y no hay canales de ciclo disponibles. Como se ilustra en la figura 5, en t2 , un usuario está viendo el canal 175 y cada uno de Ciclo 1 - Ciclo 4 está asociado con canales distintos al canal 175. Por lo tanto, en el ejemplo ilustrado en la figura 5, con el fin de que el canal 175 se asocie con uno de Ciclo 1 - Ciclo 4, un canal asociado con uno de Ciclo 1 - Ciclo 4, debe ser reemplazado. Se debería hacer notar que en el ejemplo ilustrado en la figura 5, un número asociado a un canal de ciclo puede indicar el orden en el cual un canal particular se asocia con un canal de ciclo. Es decir, en la figura 5, en fe, el canal 100 puede ser el canal que se añadió en primer lugar a la pila de ciclo (es decir, el canal de ciclo más viejo) y el canal 150 puede ser el canal que se añadió más recientemente a la pila de ciclo (es decir, el canal de ciclo más nuevo).
En el ejemplo ilustrado en la figura 5, tal como se ilustra en ts y ts, cuando un usuario que ejecuta una operación de ciclo, el canal de ciclo más antiguo es retirado de la pila de ciclo (es decir, el canal 100 en el canal ts y el canal 107 en t7) y el canal que se está presentando actualmente, (es decir, el canal 175 en ts y el canal 185 en t7 se asocia con Ciclo 4. Por lo tanto, se mantiene el orden en el cual se añadieron canales a la pila de ciclo. Es decir, el conducto asociado con Ciclo 1 se elimina, el canal asociado con Ciclo 2 se asocia con Ciclo 1, el canal asociado con Ciclo 3 se asocia con Ciclo 2, el canal asociado con Ciclo 4 se asocia con Ciclo 3 y el nuevo canal se asocia con Ciclo 4. De esta manera, la activación de una operación de ciclo hará que el canal de ciclo más antiguo sea reemplazado con el canal actualmente presentado. Se debería hacer notar que el ejemplo ilustrado en la figura 5 se proporciona un ejemplo técnico de cómo un canal puede ser reemplazado en una pila de ciclo de acuerdo con una regla de prioridad. En otros ejemplos se pueden usar otras técnicas cuando no hay canales de ciclo disponibles. En un ejemplo, pueden tener lugar una o más excepciones para reemplazar el canal de ciclo más antiguo. Por ejemplo, en un caso, puede tener lugar una excepción de manera que el canal visto más recientemente no se pueda reemplazar en la pila de ciclo, independientemente de si el canal visto más recientemente es también el canal de ciclo más antiguo. Con la excepción, el segundo canal más antiguo puede ser reemplazado de la pila de ciclo. Por ejemplo, con referencia a la figura 5, si un usuario ha estado observando CH 100 de to a ti, el canal 107 puede ser reemplazado en la pila de ciclo en t2. En un ejemplo, un dispositivo informático puede ser configurado para posibilitar a un usuario establecer explícitamente (por ejemplo, a través de un menú de configuración) cómo se manejarán las ejecuciones de una operación de ciclo cuando no haya canales de ciclo disponibles.
En un ejemplo, un usuario se le puede presentar una opción para aumentar el número máximo de canales de ciclo. Por ejemplo, con referencia a la figura 5, en un ejemplo, en t2 , se puede presentar una interfaz gráfica de usuario a un usuario que posibilita a un usuario asociar el canal 175 con un quinto canal de ciclo. En un ejemplo, la interfaz gráfica de usuario puede ser sobrepuesta en el vídeo que se está presentando actualmente a un usuario. La interfaz gráfica de usuario puede informar al usuario que no hay canales de ciclo disponibles en la pila de ciclo y presentar al usuario una opción de añadir un quinto canal de ciclo a la pila de ciclo. Además, en un ejemplo, se puede presentar una interfaz gráfica de usuario a un usuario que posibilita a un usuario elegir qué canal se sustituye en la pila de ciclo.
La figura 7 es un diagrama conceptual que ilustra un ejemplo de una interfaz gráfica de usuario de acuerdo con una o más técnicas de la presente divulgación. La interfaz gráfica de usuario 700 ilustra un ejemplo de una interfaz gráfica de usuario que puede ser presentada a un usuario cuando un usuario intenta añadir un canal a una pila de ciclo cuando la pila de ciclo está llena. Por ejemplo, la interfaz gráfica de usuario 700 se puede presentar a un usuario en t2 en la figura 5. Como se ilustra en la figura 7, la interfaz gráfica de usuario 700 incluye la ventana 702, en donde la ventana 702 incluye una pluralidad de iconos, en donde cada icono proporciona una opción para resolver el caso cuando un usuario intenta añadir un canal a la pila de ciclo cuando no hay canales de ciclo disponibles. En el ejemplo ilustrado en la figura 7, un usuario puede seleccionar el reemplazo de cualquiera de los canales actualmente en la pila de ciclo o cancelar la adición a la pila de ciclo del canal que se está presentando actualmente. Se debería hacer notar que, aunque no se muestra en la figura 7, en una ventana 702 de ejemplo se puede incluir texto, imágenes y/o vídeo indicativo de programación que se está presentando actualmente en cada uno de los canales. Además, aunque no se ilustra en la figura 7, en un ejemplo, como se describió anteriormente, la ventana 702 puede incluir una opción para que un usuario aumente el número de canales en la pila de ciclo. De esta manera un dispositivo informático puede ser configurado para reemplazar un canal en el subconjunto de canales con el canal actualmente presentado basándose en la entrada recibida del usuario.
La figura 6 es un diagrama de flujo que ilustra un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación. La figura 6 proporciona un algoritmo de ejemplo que puede ser ejecutado por un dispositivo informático para ejecutar una función de ciclo de ejemplo. Un ejemplo de un caso de uso de la función de ciclo de ejemplo ilustrada en la figura 6 se ilustra en las figuras 4 a 5. Como se ilustra en la figura 6, en 602 se activa una operación de ciclo. En el ejemplo ilustrado en la figura 6, una operación de ciclo puede corresponder a una operación de ciclo dedicada. Por ejemplo, una operación de ciclo puede corresponder a la activación del botón de ciclo 290 o a un usuario que proporcione un comando de ciclo activado por voz (por ejemplo, un usuario que diga "Rotación"). Cuando se activa una operación de ciclo, un dispositivo informático determina si un canal actualmente presentado está en la pila de ciclo (604). Es decir, como se describió anteriormente, con respecto a la figura 5, se hace una determinación si la operación de ciclo corresponde a una operación de relleno de la pila de ciclo o una operación de recorrido circular de pila de ciclo. En un ejemplo, un canal actualmente presentado puede corresponder a un canal que se está exhibiendo actualmente en una presentación de pantalla completa o un canal que se presenta en una ventana de presentación principal.
Si se determina que el canal actualmente presentado está en la pila de ciclo, se hace una determinación de si hay otros canales en la pila de ciclo (606). Si otros canales están actualmente en la pila de ciclo, se presenta el siguiente canal en la pila de ciclo (608). Un ejemplo de esto se ilustra en la figura 5, en t3-t5 y ts-tm Como se describió anteriormente, un dispositivo informático puede estar configurado para mostrar múltiples vídeos simultáneamente. En un ejemplo, el recorrido circular a través de una pila de ciclo puede hacer que los vídeos cambien de posición en una pantalla. Por ejemplo, se puede presentar un vídeo mostrado en una ventana de presentación auxiliar (por ejemplo, una ventana de Imagen en Imagen) en la ventana de presentación principal y el vídeo que se presentó en la ventana de presentación principal se puede presentar en una ventana auxiliar de presentación. Por lo tanto, una función de ciclo puede posibilitar a un usuario recorrer circularmente, de forma visual, canales en una pila de ciclo (por ejemplo, mover/o cambiar el tamaño de las presentaciones de vídeo).
Si otros canales no están actualmente en la pila de ciclo, tiene lugar una condición nula (610). Es decir, el canal actual puede permanecer como el canal que se presenta. Además, en un ejemplo, el dispositivo informático puede proporcionar al usuario una indicación de que ha tenido lugar la condición nula. Por ejemplo, puede tener lugar una indicación audible (por ejemplo, un tono) o se puede presentar una indicación visual a un usuario.
Con referencia otra vez a la figura 6, en 604 si se determina que el canal actualmente presentado no está en la pila de ciclo, se hace una determinación de si la pila de ciclo está llena (612). Si la pila de ciclo no está llena, el canal actualmente presentado se añade a la pila de ciclo (614). Un ejemplo de esto se ilustra en la figura 4, en t-i, t3 y t7. Como se describió anteriormente, puede tener lugar una situación en la que no hay canales disponibles en la pila de ciclo. Es decir, se determina que la pila de ciclo está llena. En este caso, en un ejemplo, se puede eliminar un canal de la pila de ciclo con el fin de añadir otro canal a la pila de ciclo. En 616, se elimina un canal de la pila de ciclo. Se puede eliminar un canal de acuerdo con cualquiera de las técnicas descritas anteriormente. Por ejemplo, se puede eliminar el canal de memoria más antiguo o se puede presentar una interfaz gráfica de usuario que posibilita a un usuario seleccionar qué canal eliminar de la pila de ciclo. Después de que un canal ha sido eliminado de la pila de ciclo, en 614, suponiendo que el usuario no ha cancelado añadir el canal actualmente presentado a la pila de ciclo, el canal presentado actualmente se añade a la pila de ciclo. De esta manera, un dispositivo informático configurado para ejecutar el algoritmo ilustrado en la figura 6 representa un ejemplo de un dispositivo informático configurado para determinar si un canal actualmente presentado está incluido en un subconjunto de canales y basándose en si el canal actualmente presentado está incluido en el subconjunto de canales, realiza uno de añadir el canal actualmente presentado al subconjunto de los canales o hacer que se presente un canal incluido en el subconjunto de canales.
Como se describió anteriormente, un dispositivo informático puede incluir una funcionalidad de grabación que puede ser configurada para proporcionar una memoria intermedia de revisión, en donde una memoria intermedia de revisión almacena porciones previamente vistas de un canal actualmente sintonizado. Una memoria intermedia de revisión puede posibilitar a un usuario pausar, rebobinar y/o reproducir partes de un programa de televisión actualmente sintonizado. Se debería hacer notar que el número de memorias intermedias de revisión disponible puede ser limitado basándose en, por ejemplo, el hardware de un dispositivo informático. Por ejemplo, un descodificador de salón solo puede incluir tres sintonizadores y, en este sentido, solo serán capaces de implementar un máximo de tres memorias intermedias de revisión. Además, el número de sintonizadores disponibles para ser usados como memorias intermedias de revisión puede estar limitado debido a grabaciones que han sido programadas por un usuario. Las técnicas descritas en el presente documento se pueden usar para manejar cómo se asocian las memorias intermedias de revisión con un canal que se está presentando actualmente y canales en una pila de ciclo.
Las figuras 8A y 8B son diagramas conceptuales que ilustran un ejemplo de una función de recorrido circular de canales de acuerdo con una o más técnicas de la presente divulgación. En el ejemplo ilustrado en las figuras 8A y 8B, hay N canales de ciclo en la pila de ciclo y N 1 memorias intermedias de revisión. En el ejemplo ilustrado en las figuras 8A y 8B de fe a t7 un usuario rellena una pila de ciclo en una manera similar a la descrita anteriormente con respecto a las figuras 4 a 6. Por bien de la brevedad, no se repite una descripción del relleno de una pila de ciclo. Como se ilustra adicionalmente en las figuras 8A y 8B cuando un usuario sintoniza un canal, se asigna una memoria intermedia de revisión al canal. Por ejemplo, con referencia a la figura 8A, en to se asigna la Memoria Intermedia 1 al canal 100, en ts se asigna la Memoria Intermedia 2 al canal 107, en t4 se asigna la Memoria Intermedia 3 al canal 108, en t6 se asigna la Memoria Intermedia 4 al canal 185 y en ts se asigna la Memoria Intermedia 5 al canal 202. Además, como se ilustra en la figura 8A, en fe se reasigna la Memoria Intermedia 5 del canal 202 al canal 203. Es decir, en este caso, un dispositivo informático se puede configurar de manera que debido a que un usuario no añadió el canal 202 a la pila de ciclo, no se mantiene una memoria intermedia de revisión para el canal 202 en un cambio de canal. Además, un dispositivo informático se puede configurar de manera que cuando un usuario añade un canal a la pila de ciclo, se mantiene una memoria intermedia de revisión para ese canal 202 al cambiar de canal. Un ejemplo de esto se ilustra en la figura 8B. Como se ilustra en la figura 8B en t13 un usuario añade el canal 203 a la pila de ciclo y la Memoria Intermedia 5 se mantiene en el canal 203 en t14.
Como se ilustra adicionalmente en la figura 8B, en t13, t15 y t20 cuando un usuario reemplaza un canal en la pila de ciclo (por ejemplo, reemplaza el canal 100 con el canal 203 en t13, reemplaza el canal 107 con el canal 204 en t15 y reemplaza el canal 108 por el canal 302 en t20), una memoria intermedia de revisión asociada con un canal que se elimina de la pila de ciclo puede quedar disponible y permanecer disponible hasta que un usuario sintonice un canal no incluido en la pila de ciclo. Se debería hacer notar que en otros ejemplos, una memoria intermedia de revisión puede continuar grabando la programación con un canal que se elimina de la pila de ciclo hasta que se requiera otra memoria intermedia de revisión. Por ejemplo, en la figura 8B, la Memoria Intermedia 1 puede permanecer asignada al canal 100 hasta 14. Por lo tanto, en este ejemplo, si un usuario hace inadvertidamente que se elimine un canal de la pila de ciclo, existe una posibilidad (por ejemplo, si un usuario teclea el canal 100 entre t13 y t14) de que un usuario pueda ser capaz de recuperar la programación asociada con un canal que fue eliminado de una pila de ciclo.
La figura 9 es un diagrama de flujo que ilustra un ejemplo de una función de recorrido circular de canales de acuerdo con una o más técnicas de la presente divulgación. La figura 9 proporciona un algoritmo de ejemplo que puede ser ejecutado por un dispositivo informático para ejecutar una función de ciclo de ejemplo con la gestión de memoria intermedia de revisión. Un ejemplo de un caso de uso de la función de ciclo de ejemplo ilustrada en la figura 9 se ilustra en las figuras 8A - 8B. En el ejemplo ilustrado en la figura 9, se supone que hay N canales de ciclo en una pila de ciclo y N 1 memorias intermedias de revisión disponibles. Como se ilustra en la figura 9, en 902 se sintoniza un dispositivo informático en el canal X (por ejemplo, usando el teclado numérico 261, canal arriba/abajo 264 o el botón de ciclo 290), en donde el canal X es un canal arbitrario y se asigna una memoria intermedia de revisión al canal X en 904. En 906 se sintoniza un dispositivo informático en el canal Y. En 908 se hace una determinación de si el canal X es un canal en la pila de ciclo. Si el canal X no está en la pila de ciclo, la memoria intermedia de revisión asociada con el canal X se puede desasignar (910). Una implementación de ejemplo de desasignación de una memoria intermedia de revisión se ilustra en las figuras 8A y 8B en tg en donde no se mantiene una memoria intermedia de revisión para el canal 202. Si el canal X está en la pila de ciclo, se puede mantener (912) la memoria intermedia de revisión asociada con el canal X. Un ejemplo de implementación para mantener una memoria intermedia de revisión se ilustra en las figuras 8A y 8B en t4 y t14. En 914 se asigna una memoria intermedia de revisión al canal Y. Se debería hacer notar que la memoria intermedia de revisión que se asigna al canal Y puede incluir la memoria intermedia de revisión que se desasignó en 910. Una implementación de ejemplo de desasignación de una memoria intermedia de revisión y posteriormente asignar la memoria intermedia de revisión se ilustra en la figura 8A en t9.
Como se describió anteriormente, en algunos casos el número de memorias intermedias de revisión disponibles puede ser limitado. Por ejemplo, el número de memorias intermedias de revisión disponibles puede ser menor que N 1, en donde N es el número de canales en una pila de ciclo. Cuando hay menos de N 1 memorias intermedias de revisión, pueden tener lugar conflictos de memoria intermedia de revisión. Es decir, no hay suficientes memorias intermedias de revisión para grabar cada uno de los canales en una pila de ciclo y un canal actualmente sintonizado. Por ejemplo, puede tener lugar un conflicto cuando todas las memorias intermedias de revisión disponibles están asignadas a canales y un usuario sintoniza un canal no incluido en la pila de ciclo. Un dispositivo informático puede ser configurado para reasignar memorias intermedias de revisión basándose en una o más reglas de prioridad. Por ejemplo, un dispositivo informático puede ser configurado para priorizar un canal actualmente presentado. En este caso, como se describe a continuación en los ejemplos ilustrados en las figuras 10A a 12B, una memoria intermedia de revisión asignada puede ser reasignada a un canal actualmente sintonizado. Se debería hacer notar que en otros ejemplos, los canales en una pila de ciclo pueden ser priorizados sobre un canal actualmente presentado. En un ejemplo, un dispositivo informático puede estar configurado para posibilitar a un usuario establecer prioridades de memoria intermedia de revisión.
Se debería hacer notar que en los ejemplos ilustrados en las figuras 10A a 12B, el tamaño de la pila de ciclo es estático (es decir, es cuatro). En otros ejemplos, el tamaño de la pila de ciclo se puede aumentar o disminuir cuando tiene lugar un conflicto de memoria intermedia de revisión. Por ejemplo, un dispositivo informático se puede configurar de manera que el número máximo de canales en una pila de ciclo se base en el número de memorias intermedias de revisión disponibles. Por ejemplo, N se puede disminuir para asegurar que hay N 1 memorias intermedias de revisión. Por ejemplo, el tamaño de una pila de ciclo puede disminuir de cuatro a tres si una memoria intermedia de revisión se vuelve no disponible. Por ejemplo, una grabación programada puede hacer que el número de memorias intermedias de revisiones disminuya de cinco a cuatro. En algunos ejemplos, se puede presentar una notificación (por ejemplo, una interfaz gráfica de usuario) a un usuario para indicar un cambio en el tamaño de una pila de ciclo. En un ejemplo, un usuario puede ser capaz de establecer cómo se manejan los conflictos de revisión.
Las figuras 10A a 12B son diagramas conceptuales que ilustran ejemplos de una función de recorrido circular de canales de acuerdo con una o más técnicas de la presente divulgación. En el ejemplo ilustrado en las figuras 10A y 10B, hay N canales de ciclo disponibles y N memorias intermedias de revisión. En el ejemplo ilustrado en las figuras 11A a 11B, hay N canales de ciclo disponibles y N - 1 memorias intermedias de revisión. Las figuras 12A y 12B son diagramas conceptuales que ilustran un ejemplo de una función de recuperación de canal de acuerdo con una o más técnicas de la presente divulgación. En el ejemplo ilustrado en las figuras 12A y 12B, hay N canales de ciclo disponibles y N - 2 memorias intermedias de revisión. En cada uno de los ejemplos ilustrados en las figuras 10A a 12B un dispositivo informático está configurado de manera que se asigna una memoria intermedia de revisión a un canal actualmente sintonizado. Como se describió anteriormente, en otros ejemplos, un dispositivo informático se puede configurar para asignar memorias intermedias de revisión de otra manera. Se debería hacer notar que cuando N es igual a cuatro, como en los ejemplos ilustrados en las figuras 10A a 12B, N - 3 es igual a uno. En el caso en el que solo hay una memoria intermedia de revisión disponible, la memoria intermedia de revisión puede ser asignada al canal actualmente sintonizado.
En cada uno de los ejemplos ilustrados en las figuras 10A a 12B, un usuario realiza las mismas operaciones que las ilustradas en las figuras 8A a 8B. Sin embargo, a diferencia del ejemplo ilustrado en las figuras 8A y 8B, tienen lugar conflictos de memoria intermedia de revisión. Con referencia a las figuras 10A a 10B en t8, tg, ti4 y tig tienen lugar conflictos de memoria intermedia de revisión. Con referencia a las figuras 11A y 11B en t6, t8, tg, ti4, ti6, ti7, tig y t2i tienen lugar conflictos de memoria intermedia de revisión. Con referencia a las figuras 12A a 12B en t4, te, t8, tg, ti4, ti6, ti7, ti8, tig y t2i tienen lugar conflictos de revisión. Es decir, en cada uno de estos momentos, un usuario sintoniza un canal (ya sea un canal incluido en la pila de ciclo o un canal no incluido en la pila de ciclo) al que no se asigna una memoria intermedia de revisión y todas las memorias intermedias de revisión disponibles se asignan a otros canales. Por lo tanto, en los ejemplos ilustrados en las figuras i0A a i2B con el fin de que se asigne una memoria intermedia de revisión a un canal actualmente sintonizado, como es la primera prioridad en estos ejemplos, se debe reasignar una memoria intermedia de revisión. Además, como se describe con mayor detalle a continuación, cuando se reasigna una memoria intermedia de revisión, puede ser deseable añadir y/o eliminar un canal de una pila de ciclo.
La figura i3 es un diagrama de flujo que ilustra un ejemplo de una función de recorrido circular de canales de acuerdo con una o más técnicas de la presente divulgación. La figura i3 proporciona un algoritmo de ejemplo que puede ser ejecutado por un dispositivo informático para resolver conflictos de memoria intermedia de revisión. Un ejemplo de un caso de uso de la función de ciclo de ejemplo ilustrada en la figura i3 se ilustra en las figuras i0A a i2B. En el ejemplo ilustrado en la figura i3, se puede reasignar memorias intermedias de revisión y los canales se pueden eliminar de la pila de ciclo. En i302 se sintoniza un dispositivo informático en el canal X (por ejemplo, con uso del teclado numérico 26 i, canal hacia arriba/abajo 264 o el botón de ciclo 29o. En i304, un dispositivo informático determina si tiene lugar un conflicto de memoria intermedia de revisión. Si no tiene lugar un conflicto de memoria intermedia de revisión (por ejemplo, una memoria intermedia de revisión está disponible o una memoria intermedia de revisión ya está asignada al canal X), la computación asigna o mantiene una memoria intermedia de revisión para el canal X ( i 306). Los ejemplos de asignación o mantenimiento de una memoria intermedia de revisión cuando no tienen lugar conflictos se ilustran en la figura i0A en te y la figura i0B en ti7.
Si hay un conflicto de memoria intermedia de revisión, se reasigna una memoria intermedia de revisión asociada con el canal de la prioridad más baja en la pila de ciclo al canal X (i308). De esta manera, a un canal actualmente presentado se le asigna una memoria intermedia de revisión. En los ejemplos ilustrados en las figuras i0A a i2B, un canal de la prioridad más baja puede incluir el último canal añadido a la pila de ciclo o el canal más antiguo añadido a la pila de ciclo por un usuario. Los ejemplos de reasignación de memoria intermedia de revisión asociada con el último canal añadido a la pila de ciclo se ilustran en las figuras i0A, i i A y i2A en tg. En cada uno de estos ejemplos, el canal 202 se añadió a la pila de ciclo en t8 cuando un usuario sintonizaba el canal 202 y no por un usuario que activa una función de ciclo. En este sentido, se puede considerar que el canal 202 tiene una prioridad más baja que cualquier canal que fue añadido explícitamente a la pila de ciclo por un usuario.
Como se describe en detalle más adelante, con respecto a i3 i6 , en los ejemplos ilustrados en las figuras i0A y i0B, un dispositivo informático se puede configurar para añadir un canal a la pila de ciclo al reasignar una memoria intermedia de revisión. En algunos casos, la adición de un canal a la pila de ciclo al reasignar una memoria intermedia de revisión puede ser más deseable para un usuario que un enfoque alternativo de mantener el canal sin una memoria intermedia asignada en la pila de ciclo. Por ejemplo, como se ilustra en las figuras i0A -i0B en tg a ti3, si un usuario está sintonizando canales no incluidos en la pila de ciclo, hay la probabilidad de que un usuario esté buscando programación en un canal que no esté actualmente en la pila de ciclo. De esta manera, existe una probabilidad de que un usuario añada un nuevo canal a la pila de ciclo y desee reemplazar explícitamente un canal actualmente en la pila de ciclo.
Los ejemplos de reasignación de la memoria intermedia de revisión asociada con el canal más antiguo añadido a la
i5
pila de ciclo por un usuario se ilustran en las figuras 10A, 11A y 12A en t8. Como se ilustra en la figura 13, después de que se reasigna una memoria intermedia de revisión, se hace una determinación de si el canal X está en la pila de ciclo (1310). Si el canal X ya está en la pila de ciclo, el proceso termina. Un ejemplo de este caso se ilustra en la figura 11B en ti7. En este ejemplo, se reasigna una memoria intermedia de revisión del canal 108 al canal 185. Otros ejemplos de conflictos de memoria intermedia de revisión causados por el recorrido circular de pila de ciclo se ilustran en la figura 11B en t16 y t¿1 y en la figura 12B en t16, t17, t18 y t¿1.
Como se describió anteriormente, puede ser deseable añadir un canal a la pila de ciclo al reasignar una memoria intermedia de revisión a un canal. Por lo tanto, si el canal X no está ya en la pila de ciclo, el canal X se puede añadir a la pila de ciclo. En el caso en el que la pila de ciclo incluye un canal de ciclo disponible, se puede añadir el canal X a la pila de ciclo (1314). Un ejemplo en el que el canal X se añade a la pila de ciclo cuando la pila de ciclo no está llena se ilustra en la figura 11A en t6 y en la figura 12A en y t4 y t6. Sin embargo, si una pila de ciclo está llena, se puede reemplazar un canal de la prioridad más baja en la pila de ciclo de manera que el canal X se puede añadir a la pila de ciclo (1316). Se debería hacer notar que las prioridades pueden diferir para propósitos de la reasignación de memoria intermedia de revisión y reemplazo de la pila de ciclo. Un ejemplo de esto se ilustra en la figura 12B en t8. En este caso, se reasigna una memoria intermedia de revisión asociada con el canal 107 al canal 202 y el canal 100 se reemplaza en la pila de ciclo con el canal 202. Además, se debería hacer notar, como se ilustra en las figuras 10B, 11B y 12B en t13, la activación de una operación de ciclo puede hacer que cambie la prioridad de canales en una pila de ciclo. De esta manera, un dispositivo informático configurado para ejecutar el algoritmo ilustrado en la figura 13 representa un ejemplo de un dispositivo informático configurado para determinar si tiene lugar un conflicto de memoria intermedia de revisión y al determinar que tiene lugar un conflicto de memoria intermedia de revisión, reasignar una memoria intermedia de revisión asociada con un canal de la prioridad más baja.
Las realizaciones divulgadas, y otras, y las operaciones y módulos funcionales descritos en este documento se pueden implementar en circuitería electrónica digital o en software informático, firmware o hardware, incluyendo las estructuras divulgadas en este documento y sus equivalentes estructurales, o en combinaciones de uno o más de los mismos. Las realizaciones divulgadas, y otras, se pueden implementar como uno o más productos de programa informático, es decir, uno o más módulos de instrucciones de programa informático codificadas en un medio legible por ordenador para su ejecución por, o para controlar la operación de, un aparato de procesamiento de datos. El medio legible por ordenador puede ser un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria, una composición de materia que efectúa una señal propagada legible por máquina o una combinación de uno o más de los mismos. La expresión "aparato de procesamiento de datos" abarca todos los aparatos, dispositivos y máquinas para procesar datos, incluyendo a modo de ejemplo un procesador programable, un ordenador, o múltiples procesadores u ordenadores. El aparato puede incluir, además de hardware, código que crea un entorno de ejecución para el programa informático en cuestión, por ejemplo, código que constituye el firmware de procesador, una pila de protocolos, un sistema de gestión de base de datos, un sistema operativo, o una combinación de uno o más de los mismos. Una señal propagada es una señal generada artificialmente, por ejemplo, una señal eléctrica, óptica o electromagnética generada por máquina, que se genera para codificar información para su transmisión a un aparato receptor adecuado.
Un programa informático (también conocido como programa, software, aplicación de software, secuencia de comandos o código) se puede escribir en cualquier forma de lenguaje de programación, incluyendo lenguajes compilados o interpretados, y se puede implementar en cualquier forma, incluyendo como un programa independiente o como un módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa informático no se corresponde necesariamente con un archivo en un sistema de archivos. Un programa se puede almacenar en una porción de un archivo que mantiene otros programas o datos (por ejemplo, una o más secuencias de comandos almacenadas en un documento de lenguaje de marcado), en un único archivo dedicado al programa en cuestión, o en múltiples archivos coordinados (por ejemplo, archivos que almacenan uno o más módulos, subprogramas o porciones de código). Un programa informático se puede implementar para ejecutarse en un ordenador o en múltiples ordenadores que están ubicados en un sitio o distribuidos por múltiples sitios e interconectados por una red de comunicación.
Los procesos y flujos lógicos descritos en este documento pueden ser realizados por uno o más procesadores programables que ejecutan uno o más programas informáticos para realizar funciones al operar sobre unos datos de entrada y generar una salida. Los procesos y flujos lógicos también pueden ser realizados por, y el aparato también se puede implementar como, circuitería de lógica de propósito especial, por ejemplo, un FPGA (matriz de puertas programables en campo) o un ASIC (circuito integrado de aplicación específica).
Los procesadores adecuados para la ejecución de un programa informático incluyen, a modo de ejemplo, microprocesadores de propósito tanto general como especial, y uno o más procesadores cualesquiera de cualquier tipo de ordenador digital. En general, un procesador recibirá instrucciones y datos desde una memoria de solo lectura o una memoria de acceso aleatorio, o ambas. Los elementos esenciales de un ordenador son un procesador para realizar instrucciones y uno o más dispositivos de memoria para almacenar instrucciones y datos. En general, un ordenador también incluirá, o estará operativamente acoplado para recibir, datos desde o transferir datos a, o ambos, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, magnéticos, discos magneto ópticos o discos ópticos. Sin embargo, un ordenador no necesita tener tales dispositivos. Los medios legibles por ordenador adecuados para almacenar instrucciones de programa informático y datos incluyen todas las formas de memoria no volátil, medios y dispositivos de memoria, incluyendo a modo de ejemplo dispositivos de memoria de semiconductores, por ejemplo, EPROM, EEPROM y dispositivos de memoria flash; discos magnéticos, por ejemplo, discos duros internos o discos extraíbles; discos magneto ópticos; y discos de CD ROM y DVD-ROM. El procesador y la memoria pueden ser complementados por, o incorporarse en, circuitería de lógica de propósito especial.
Aunque este documento de patente contiene muchos detalles específicos, estos no se deberían interpretar como limitaciones en el alcance de una invención que se reivindica o de lo que pueda reivindicarse, sino más bien como descripciones de características específicas de realizaciones particulares. De manera similar, aunque en los dibujos se representan operaciones en un orden particular, esto no se debería entender como que requiere que, para conseguir resultados deseables, tales operaciones se hayan de realizar en el orden particular mostrado o en orden secuencial, o que se hayan de realizar todas las operaciones ilustradas.
Solo se divulgan unos pocos ejemplos e implementaciones. Basándose en lo que se divulga, se pueden realizar variaciones, modificaciones y mejoras a los ejemplos e implementaciones descritos, y otras implementaciones.

Claims (15)

REIVINDICACIONES
1. Un método implementado por ordenador para posibilitar que un usuario haga que se presente programación asociada con un canal, comprendiendo el método:
recibir (602) un comando para iniciar una función para recorrer circularmente un subconjunto de canales accesibles en un dispositivo de medios; en respuesta a recibir el comando, determinar (604) si un canal actualmente presentado al que se accede en el dispositivo de medios está incluido en el subconjunto de canales; basándose en determinar que el canal actualmente presentado no está incluido en el subconjunto de canales, y en respuesta a recibir el comando, actualizar (614) el subconjunto de canales para añadir el canal actualmente presentado al subconjunto de canales, incluyendo la adición del canal actualmente presentado al subconjunto de canales reemplazar un canal incluido en el subconjunto de canales con el canal actualmente presentado, y basándose en determinar que el canal actualmente presentado está incluido en el subconjunto de canales, y en respuesta a recibir el comando, hacer (608) que un canal siguiente incluido en el subconjunto de canales se presente en el dispositivo de medios.
2. El método de la reivindicación 1, en donde el comando de usuario incluye la activación de un botón dedicado o un comando de voz dedicado.
3. El método de la reivindicación 1, en donde el canal en el subconjunto de canales se reemplaza con el canal actualmente presentado basándose en una regla de prioridad o en una entrada de usuario.
4. El método de la reivindicación 3, en donde la entrada de usuario se recibe a través de la activación de uno de una pluralidad de iconos incluidos en una interfaz gráfica de usuario.
5. El método de la reivindicación 1, en donde hacer (608) que se presente un canal siguiente incluido en el subconjunto de canales incluye hacer que se presente un canal en una presentación de pantalla completa o una ventana de presentación principal.
6. El método de la reivindicación 1, en donde al canal actualmente presentado y a cada uno de los canales incluidos en el subconjunto de canales se les asigna una memoria intermedia de revisión respectiva de entre una pluralidad de memorias intermedias de revisión, almacenando cada memoria intermedia de revisión unas porciones previas de su canal asignado.
7. El método de la reivindicación 6, que comprende adicionalmente:
recibir un comando de usuario para sintonizar un segundo canal que no sea el canal actualmente presentado; determinar si hay suficientes memorias intermedias de revisión en la pluralidad de memorias intermedias de revisión para grabar cada uno de los canales en el subconjunto de canales y el segundo canal; y
al determinar que no hay suficientes memorias intermedias de revisión en la pluralidad de memorias intermedias de revisión para grabar cada uno de los canales en el subconjunto de canales y el segundo canal, reasignar una memoria intermedia de revisión asociada con un canal de la prioridad más baja en el subconjunto de canales al segundo canal.
8. Un dispositivo para posibilitar que un usuario haga que se presente programación asociada con un canal, comprendiendo el dispositivo uno o más procesadores configurados para:
al recibir (602) un comando para iniciar una función para recorrer circularmente un subconjunto de canales accesibles en un dispositivo de medios;
en respuesta a recibir el comando, determinar (604) si un canal actualmente presentado al que se accede en el dispositivo de medios está incluido en el subconjunto de canales;
basándose en determinar que el canal actualmente presentado no está incluido en el subconjunto de canales, y en respuesta a recibir el comando, actualizar (614) el subconjunto de canales para añadir el canal actualmente presentado al subconjunto de canales, incluyendo la adición del canal actualmente presentado al subconjunto de canales reemplazar un canal incluido en el subconjunto de canales con el canal actualmente presentado; y basándose en determinar que el canal actualmente presentado está incluido en el subconjunto de canales, y en respuesta a recibir el comando, hacer (608) que un canal siguiente incluido en el subconjunto de canales se presente en el dispositivo de medios.
9. El dispositivo de la reivindicación 8, en donde el comando de usuario incluye la activación de un botón dedicado o un comando de voz dedicado.
10. El dispositivo de la reivindicación 8, en donde reemplazar un canal en el subconjunto de canales con el canal actualmente presentado incluye reemplazar un canal basándose en una regla de prioridad o en una entrada de usuario.
11. El dispositivo de la reivindicación 10, en donde la entrada de usuario se recibe a través de la activación de uno de una pluralidad de iconos incluidos en una interfaz gráfica de usuario.
12. El dispositivo de la reivindicación 8, en donde hacer (608) que se presente un canal siguiente incluido en el subconjunto de canales incluye hacer que se presente un canal en una presentación de pantalla completa o una ventana de presentación principal.
13. El dispositivo de la reivindicación 8, en donde al canal actualmente presentado y a cada uno de los canales incluidos en el subconjunto de canales se les asigna una memoria intermedia de revisión respectiva de entre una pluralidad de memorias intermedias de revisión, almacenando cada memoria intermedia de revisión unas porciones previas de su canal asignado.
14. El dispositivo de la reivindicación 8, en donde el canal en el subconjunto de canales se reemplaza con el canal actualmente presentado basándose en una entrada de usuario, en donde el uno o más procesadores están configurados adicionalmente para:
recibir un comando de usuario para sintonizar un segundo canal que no sea el canal actualmente presentado; determinar si hay suficientes memorias intermedias de revisión en la pluralidad de memorias intermedias de revisión para grabar cada uno de los canales en el subconjunto de canales y el segundo canal y
al determinar que no hay suficientes memorias intermedias de revisión en la pluralidad de memorias intermedias de revisión para grabar cada uno de los canales en el subconjunto de canales y el segundo canal, reasignar una memoria intermedia de revisión asociada con un canal de la prioridad más baja en el subconjunto de canales al segundo canal.
15. Un medio legible por ordenador que comprende instrucciones almacenadas en el mismo que, al ejecutarse, hacen que uno o más procesadores de un dispositivo lleven a cabo el método de una cualquiera de las reivindicaciones 1 a 7.
ES16715680T 2015-03-26 2016-03-24 Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión Active ES2770001T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/669,385 US9980006B2 (en) 2015-03-26 2015-03-26 Systems and methods of recalling channels and review buffer management
PCT/US2016/023890 WO2016154377A1 (en) 2015-03-26 2016-03-24 Systems and methods of recalling channels and review buffer management

Publications (1)

Publication Number Publication Date
ES2770001T3 true ES2770001T3 (es) 2020-06-30

Family

ID=55702096

Family Applications (2)

Application Number Title Priority Date Filing Date
ES19207246T Active ES2880502T3 (es) 2015-03-26 2016-03-24 Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión
ES16715680T Active ES2770001T3 (es) 2015-03-26 2016-03-24 Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES19207246T Active ES2880502T3 (es) 2015-03-26 2016-03-24 Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión

Country Status (6)

Country Link
US (1) US9980006B2 (es)
EP (2) EP3700220B1 (es)
BR (2) BR212017020636U2 (es)
ES (2) ES2880502T3 (es)
MX (1) MX2017012368A (es)
WO (1) WO2016154377A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9980006B2 (en) 2015-03-26 2018-05-22 Opentv, Inc. Systems and methods of recalling channels and review buffer management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU736436B2 (en) 1996-02-29 2001-07-26 Rovi Guides, Inc. Improved television tuning system
KR101775064B1 (ko) * 2001-02-21 2017-09-06 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
US6934917B2 (en) * 2001-04-20 2005-08-23 Koninklijke Philips Electronics, N.V. Automatic selection of favorite media selections of a user of a media presentation device
DE02747828T1 (de) * 2001-05-11 2004-07-08 Scientific-Atlanta, Inc. Verwaltung von zeitschiebepuffern
US20050044570A1 (en) 2003-08-20 2005-02-24 Thomas Poslinski Caching data from multiple channels simultaneously
TWI343750B (en) 2004-03-02 2011-06-11 Hon Hai Prec Ind Co Ltd System and method for controlling favorite television channels with a single knob
KR100454474B1 (ko) 2004-03-09 2004-10-28 주식회사 휴맥스 방송 녹화기기에서의 채널 절환방법
US7818766B2 (en) 2005-09-30 2010-10-19 Microsoft Corporation Last channel button functionality
US20090244402A1 (en) * 2006-06-29 2009-10-01 Rye David J Favorite channel remote
US7848613B2 (en) 2006-06-29 2010-12-07 Jason Osborne Residual time-shift buffering in a digital media device
EP2475166A1 (en) * 2006-07-31 2012-07-11 United Video Properties, Inc. Systems and methods for providing media guidance planners
US8687128B2 (en) 2007-04-19 2014-04-01 At&T Intellectual Property I, L.P. System and method of navigating previously viewed channels
US8595772B2 (en) 2008-08-08 2013-11-26 At&T Intellectual Property I, Lp System and method for recalling multiple last television channels viewed
US8427356B1 (en) * 2008-11-28 2013-04-23 Uei Cayman Inc. Automatic determination and retrieval of a favorite channel
US8943043B2 (en) * 2010-01-24 2015-01-27 Microsoft Corporation Dynamic community-based cache for mobile search
US9204186B2 (en) * 2013-03-13 2015-12-01 Comcast Cable Communications, Llc Buffering content
US9980006B2 (en) 2015-03-26 2018-05-22 Opentv, Inc. Systems and methods of recalling channels and review buffer management

Also Published As

Publication number Publication date
US9980006B2 (en) 2018-05-22
WO2016154377A1 (en) 2016-09-29
EP3275198B1 (en) 2019-11-06
BR212017020636U2 (pt) 2018-05-15
MX2017012368A (es) 2018-03-01
US20160286273A1 (en) 2016-09-29
EP3275198A1 (en) 2018-01-31
BR112017020636A2 (es) 2018-05-15
EP3700220B1 (en) 2021-06-23
EP3700220A1 (en) 2020-08-26
BR112017020636B1 (pt) 2022-05-17
ES2880502T3 (es) 2021-11-24

Similar Documents

Publication Publication Date Title
AU2020202800B2 (en) Systems and methods of displaying content
JP6673990B2 (ja) コンテンツ及び関連ソーシャルメディアデータの表示のシステム、記憶媒体及び方法
AU2019268123B2 (en) Systems and methods for enabling selection of available content including multiple navigation techniques
EP2891964A1 (en) Systems and methods of displaying and navigating program content based on a helical arrangement of icons
KR20110116031A (ko) 미디어 콘텐츠 표시를 위한 리소스 관리
US20220141314A1 (en) Methods, systems, and apparatus for presenting participant information associated with a media stream
US20160373804A1 (en) Systems and methods of displaying and navigating content based on dynamic icon mapping
TW201145984A (en) Apparatus and methods for storing packetized video content
ES2770001T3 (es) Sistemas y métodos de recuperación de canales y gestión de memoria intermedia de revisión
CN105828162A (zh) 一种视频显示方法及装置
US10616364B2 (en) Electronic apparatus and method of operating the same
US20180027292A1 (en) Systems and methods for resolving recording conflicts
KR20210040489A (ko) 디스플레이장치, 그 제어방법 및 기록매체
JP2016032126A (ja) 表示処理装置、テレビジョン受像機、情報生成装置、放送システム、表示処理方法、プログラム、および記録媒体