ES2343541T3 - Procedimientos y aparato para la entrega mejorada de contenidos en una red de datos. - Google Patents

Procedimientos y aparato para la entrega mejorada de contenidos en una red de datos. Download PDF

Info

Publication number
ES2343541T3
ES2343541T3 ES06758324T ES06758324T ES2343541T3 ES 2343541 T3 ES2343541 T3 ES 2343541T3 ES 06758324 T ES06758324 T ES 06758324T ES 06758324 T ES06758324 T ES 06758324T ES 2343541 T3 ES2343541 T3 ES 2343541T3
Authority
ES
Spain
Prior art keywords
services
network
bandwidth
procedure
requirements
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.)
Expired - Lifetime
Application number
ES06758324T
Other languages
English (en)
Inventor
Sten Jorgen Dahl
Devarshi Shah
Bharat Iyer
Prasanna Kannan
Bruce Collins
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2343541T3 publication Critical patent/ES2343541T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/80—Actions related to the user profile or the type of traffic
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00—Arrangements affording multiple use of the transmission path
    • H04L5/003—Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058—Allocation criteria
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/10—Flow control; Congestion control
    • H04L47/15—Flow control; Congestion control in relation to multipoint traffic
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/10—Flow control; Congestion control
    • H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/80—Actions related to the user profile or the type of traffic
    • H04L47/801—Real time traffic
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/80—Actions related to the user profile or the type of traffic
    • H04L47/805—QOS or priority aware
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/82—Miscellaneous aspects
    • H04L47/822—Collecting or measuring resource availability data
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/82—Miscellaneous aspects
    • H04L47/824—Applicable to portable or mobile terminals
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00—Traffic control in data switching networks
    • H04L47/70—Admission control; Resource allocation
    • H04L47/82—Miscellaneous aspects
    • H04L47/828—Allocation of resources per group of connections, e.g. per group of users
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00—Arrangements affording multiple use of the transmission path
    • H04L5/003—Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044—Allocation of payload; Allocation of data channels, e.g. PDSCH or PUSCH
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80—Responding to QoS
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00—Network arrangements or protocols for supporting network services or applications
    • H04L67/50—Network services
    • H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04W—WIRELESS COMMUNICATION NETWORKS
    • H04W28/00—Network traffic management; Network resource management
    • H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18—Negotiating wireless communication parameters
    • H04W28/20—Negotiating bandwidth
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00—Arrangements affording multiple use of the transmission path
    • H04L5/0001—Arrangements for dividing the transmission path
    • H04L5/0003—Two-dimensional division
    • H04L5/0005—Time-frequency
    • H04L5/0007—Time-frequency the frequencies being orthogonal, e.g. OFDM(A) or DMT
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00—Network arrangements or protocols for supporting network services or applications
    • H04L67/01—Protocols
    • H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00—Network arrangements or protocols for supporting network services or applications
    • H04L67/50—Network services
    • H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un procedimiento para la transmisión de servicios en una red (100) que utiliza multiplexación por división de frecuencias ortogonales, OFDM, en el que cada trama de transmisión comprende intervalos de datos, comprendiendo cada intervalo de datos un conjunto de símbolos de datos que se suceden en una duración de símbolos de la OFDM, comprendiendo el procedimiento: recibir uno o más servicios que tienen requisitos de entrega asociados; determinar si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega; y, si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega: asignar el ancho de banda disponible a uno o más servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda en la red, caracterizado por: determinar (704) los parámetros de altura asociados con uno o más servicios en base a los requisitos de entrega, en el que el parámetro de altura está asociado con intervalos; agrupar (706) el o los servicios en uno o más grupos en base a los parámetros de altura; determinar (710) parámetros de longitud para uno o más grupos, en los que el parámetro de longitud está asociado con los símbolos de la OFDM; y asignar (714) el ancho de banda disponible a uno o más grupos en base a los parámetros de longitud.

Description

Procedimientos y aparato para la entrega mejorada de contenidos en una red de datos.
Reivindicación de prioridad a tenor de 35 U.S.C. \NAK119
La presente solicitud de patente reivindica prioridad con respecto a la solicitud provisional nº 60/669.406, presentada el 8 de abril de 2005 y asignada al cesionario de la presente invención, y que por la presente se incorpora de manera expresa por referencia al presente documento.
La presente solicitud de patente también reivindica prioridad con respecto a la solicitud provisional nº 60/720.000, presentada el 23 de septiembre de 2005 y asignada al beneficiario de la presente invención, y que por la presente se incorpora de manera expresa por referencia al presente documento.
Antecedentes Campo
La presente solicitud versa en general acerca de la distribución de datos en una red de datos y, más en particular, acerca de procedimientos y aparatos para la entrega mejorada de contenido en una red de datos.
Antecedentes
Las redes de datos, como las redes de comunicaciones inalámbricas, tienen que buscar una solución de compromiso entre servicios personalizados para un solo terminal y servicios proporcionados a un gran número de terminales. Por ejemplo, la distribución de contenido multimedia a un gran número de dispositivos (abonados) portátiles con recursos limitados es un problema complicado. Por lo tanto, resulta muy importante que los administradores de red, los vendedores minoristas de contenidos y los proveedores de servicios tengan una forma de distribuir contenido y/u otros servicios de red de una manera rápida y eficiente para su presentación en dispositivos conectados a la red.
En los sistemas actuales de entrega de contenidos/distribución de medios, se empaquetan los servicios de tiempo real y los de tiempo no real en una trama de transmisión y son entregados a los dispositivos de una red. Por ejemplo, una red de comunicaciones puede utilizar multiplexación por división de frecuencias ortogonales (OFDM) para proporcionar comunicaciones entre un servidor de comunicaciones y uno o más dispositivos móviles. Esta tecnología proporciona una trama de transmisiones que tiene intervalos de datos que están empaquetados con servicios para ser entregados y transmitidos en una red de distribución.
Desafortunadamente, los sistemas convencionales pueden empaquetar los servicios en la trama de transmisión de una forma muy ineficiente. Por ejemplo, los servicios pueden empaquetarse de una forma que malgaste el ancho de banda disponible, o que requiera un dispositivo receptor que utilice una cantidad significativa de energía para recibir el contenido. Por ejemplo, puede requerirse que un dispositivo despierte (es decir, que suministre energía a su lógica de recepción) durante intervalos prolongados de tiempo para que reciba el contenido, o puede requerirse que despierte a intervalos frecuentes para que reciba el contenido. En cualquiera de los dos casos, un empaquetado ineficiente de ese tipo lleva a que los dispositivos utilicen más energía de su batería, lo que puede llevar a que se degraden los tiempos en que el dispositivo está en espera.
Por lo tanto, se necesita un sistema para transmitir contenido de manera eficiente en una red de datos que supere los problemas de los sistemas convencionales y que, por lo tanto, permita que los dispositivos receptores reciban el contenido de una manera energéticamente eficiente.
La solicitud de patente WO 02/082743A versa acerca de un protocolo de reserva en una red de nodos. La solicitud de patente US 2003/093515A1 versa acerca de un control de la calidad de servicio de la entrega de contenidos continuos.
Resumen
En una o más realizaciones, se proporciona un sistema de multiplexado que comprende procedimientos y aparatos según se expone en las reivindicaciones adjuntas que opera para multiplexar de manera eficiente uno o más flujos de contenidos para la transmisión en una red de datos. Por ejemplo, en un aspecto, el sistema opera para multiplexar los flujos de contenido en intervalos disponibles de datos en una trama de transmisión. Se proporciona un algoritmo de asignación que asigna los intervalos de datos en base a una variedad de parámetros y/o de información asociada con los flujos de contenidos. En un aspecto, el sistema también comprende un controlador de redimensionamiento que opera para controlar cómo se lleva a cabo el redimensionamiento en uno o más flujos de contenidos que no pueden caber en los intervalos disponibles de datos para que los flujos redimensionados puedan caber en los intervalos disponibles de datos. Así, el sistema opera para multiplexar de manera eficiente uno o más flujos de contenidos para su transmisión en una red de datos de tal forma que se satisfagan los requisitos asociados con los flujos de contenidos, se reduzcan los costes de transmisión, se aumente la utilización del ancho de banda y se reduzcan los requisitos de potencia de los dispositivos receptores.
En un aspecto, se proporciona un procedimiento para transmitir servicios en una red. El procedimiento comprende recibir uno o más servicios que tienen requisitos de entrega asociados, y determinar que hay ancho de banda en la red disponible para satisfacer los requisitos de entrega. El procedimiento también comprende asignar el ancho de banda de la red al servicio o a los servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un aparato para transmitir servicios en una red. El aparato comprende lógica de recepción configurada para recibir uno o más servicios que tienen requisitos de entrega asociados. El aparato también comprende lógica de multiplexación configurada para determinar que hay ancho de banda en la red disponible para satisfacer los requisitos de entrega y para asignar el ancho de banda de la red al servicio o a los servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un aparato para transmitir servicios en una red. El aparato comprende medios para recibir uno o más servicios que tienen requisitos de entrega asociados, y medios para determinar que hay ancho de banda en la red disponible para satisfacer los requisitos de entrega. El aparato también comprende medios para asignar el ancho de banda de la red a uno o más servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un medio legible por ordenador que tiene un programa informático que comprende instrucciones, el cual, cuando es ejecutado por al menos un procesador, opera para transmitir servicios en una red. El programa informático comprende instrucciones para recibir uno o más servicios que tienen requisitos de entrega asociados, e instrucciones para determinar que hay ancho de banda en la red disponible para satisfacer los requisitos de entrega. El programa informático también comprende instrucciones para asignar el ancho de banda de la red a uno o más servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona al menos un procesador que está configurado para llevar a cabo un procedimiento para la transmisión de servicios en una red. El procedimiento comprende recibir uno o más servicios que tienen requisitos de entrega asociados, y determinar que hay ancho de banda en la red disponible para satisfacer los requisitos de entrega. El procedimiento también comprende asignar el ancho de banda de la red al servicio o a los servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un procedimiento para transmitir servicios en una red. El procedimiento comprende recibir uno o más servicios que tienen requisitos de entrega asociados, y determinar que el ancho de banda disponible en la red no es capaz de satisfacer los requisitos de entrega. El procedimiento también comprende redimensionar al menos uno del servicio o de los servicios para producir requisitos de entrega ajustados y asignar el ancho de banda disponible de la red al servicio o a los servicios en base a los requisitos de entrega ajustados para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un aparato para transmitir servicios en una red. El aparato comprende lógica de recepción configurada para recibir uno o más servicios que tienen requisitos de entrega asociados, y un controlador de redimensionamiento configurado para redimensionar al menos uno del servicio o de los servicios para producir requisitos de entrega ajustados. El aparato también comprende lógica de multiplexación configurada para determinar que el ancho de banda en la red disponible no es capaz de satisfacer los requisitos de entrega, y para asignar el ancho de banda disponible de la red al servicio o a los servicios en base a los requisitos de entrega ajustados para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un aparato para transmitir servicios en una red. El aparato comprende medios para recibir uno o más servicios que tienen requisitos de entrega asociados, y medios para determinar que el ancho de banda disponible en la red no es capaz de satisfacer los requisitos de entrega. El aparato también comprende medios para redimensionar al menos uno del servicio o de los servicios para producir requisitos de entrega ajustados, y medios para asignar el ancho de banda disponible de la red al servicio o a los servicios en base a los requisitos de entrega ajustados para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona un medio legible por ordenador que tiene un programa informático que comprende instrucciones, el cual, cuando es ejecutado por al menos un procesador, opera para transmitir servicios en una red. El programa informático comprende instrucciones para recibir uno o más servicios que tienen requisitos de entrega asociados, e instrucciones para determinar que el ancho de banda disponible en la red no es capaz de satisfacer los requisitos de entrega. El programa informático también comprende instrucciones para redimensionar al menos uno del servicio o de los servicios para producir requisitos de entrega ajustados, e instrucciones para asignar el ancho de banda disponible de la red al servicio o a los servicios en base a los requisitos de entrega ajustados para producir asignaciones de ancho de banda de la red.
En un aspecto, se proporciona al menos un procesador que está configurado para llevar a cabo un procedimiento para transmitir servicios en una red. El procedimiento comprende recibir uno o más servicios que tienen requisitos de entrega asociados, y determinar que el ancho de banda disponible en la red no es capaz de satisfacer los requisitos de entrega. El procedimiento también comprende redimensionar al menos uno del servicio o de los servicios para producir requisitos de entrega ajustados y asignar el ancho de banda disponible de la red al servicio o a los servicios en base a los requisitos de entrega ajustados para producir asignaciones de ancho de banda de la red.
Otros aspectos de las realizaciones se harán evidentes después de la reseña de de la Breve descripción de los dibujos, de la Descripción y de las Reivindicaciones presentadas en lo que sigue del presente documento.
Breve descripción de los dibujos
Los anteriores aspectos de las realizaciones descritas en el presente documento se harán evidentes de forma más inmediata con referencia a la siguiente descripción detallada cuando se toma conjuntamente con los dibujos adjuntos, en los cuales:
La Fig. 1 muestra una red que comprende una realización de un sistema de multiplexación;
la Fig. 2 muestra una realización de un servidor para su uso en un sistema de multiplexación;
la Fig. 3 muestra una realización de una trama que ilustra una asignación de intervalos de un CLM para su uso en un sistema de multiplexación;
la Fig. 4 muestra una realización de una trama que comprende diversas formas de asignación de CLM para su uso en un sistema de multiplexación;
la Fig. 5 muestra una tabla que ilustra una relación entre un parámetro del modo de transmisión y un valor máximo de la altura del intervalo para una asignación del CLM seleccionado;
la Fig. 6 muestra una realización de una trama que ilustra diferentes asignaciones del CLM a intervalos para su uso en un sistema de multiplexación;
la Fig. 7 muestra un procedimiento para proporcionar una realización del uso de un algoritmo de asignación de un sistema de multiplexación;
la Fig. 8 muestra una realización de un procedimiento para asignar intervalos a servicios de TR en base a una primera condición de desigualdad para su uso en un sistema de multiplexación;
la Fig. 9 muestra una realización de un procedimiento para asignar intervalos a servicios de TR en base a una segunda condición de desigualdad para su uso en un sistema de multiplexación;
la Fig. 10 muestra una trama que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de cuatro bloques;
la Fig. 11 muestra una realización de un procedimiento para asignar intervalos a servicios de TR en base a una tercera condición de desigualdad para su uso en un sistema de multiplexación;
la Fig. 12 muestra una trama que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de tres bloques;
la Fig. 13 muestra una realización de un procedimiento para asignar intervalos a servicios de TR en base a una cuarta condición de desigualdad para su uso en un sistema de multiplexación;
la Fig. 14 muestra una trama que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de seis bloques;
la Fig. 15 muestra una trama que ilustra la operación de realizaciones de un algoritmo de asignación para empaquetar dos servicios de TR en una trama de transmisión para su uso en un sistema de multiplexación;
la Fig. 16 muestra una trama que ilustra la operación de una realización de un algoritmo de asignación para empaquetar servicios de TR de tal manera que los intervalos no usados se agrupen en dos zonas;
la Fig. 17 muestra una realización de una trama que está dividida en dos zonas para los servicios de TR y los servicios DTR para su uso en un sistema de multiplexación;
la Fig. 18 muestra una realización de una trama en la que una región de servicios DTR está dividida en bloques de alturas diferentes;
la Fig. 19 muestra una realización de un procedimiento para asignar intervalos a un servicio DTR para su uso en un sistema de multiplexación;
la Fig. 20 muestra una realización de un procedimiento para proporcionar asignación de intervalos, redimensionamiento y control de la congestión para su uso en un sistema de multiplexación;
\newpage
la Fig. 21 muestra una realización de un procedimiento para proporcionar el redimensionamiento de servicios de tiempo real para su uso en un sistema de multiplexación;
la Fig. 22 muestra una realización de un procedimiento para proporcionar un control de la congestión para su uso en un sistema de multiplexación; y
la Fig. 23 muestra una realización de un sistema de multiplexación.
Descripción
En una o más realizaciones, se proporciona un sistema de multiplexación que opera para multiplexar los flujos de contenido en una trama de transmisión para su transmisión en una red de datos. Por ejemplo, los flujos de contenidos multiplexados comprenden una disposición, una secuencia, una mezcla y/o una selección particulares de servicios de tiempo real y/o de tiempo no real para su transmisión a un dispositivo. El sistema está especialmente bien adaptado para su uso en entornos de redes inalámbricas, pero puede usarse en cualquier tipo de entorno de red, incluyendo, sin limitación, redes de comunicaciones, redes públicas, como Internet, redes privadas, como redes privadas virtuales (RPV), redes de área local, redes de área amplia, redes de larga distancia o cualquier otro tipo de red de datos.
Para los fines de esta descripción, en el presente documento se describen una o más realizaciones de un sistema de multiplexación con referencia a una red de comunicaciones que utiliza multiplexación por división de frecuencias ortogonales (OFDM) para proporcionar comunicaciones entre un servidor de red y uno o más dispositivos móviles. Por ejemplo, en una realización de un sistema de OFDM, se define una supertrama que comprende señales piloto de multiplexación por división de tiempo (MDT), señales piloto de multiplexación por división de frecuencias (MDF), símbolos de información de tara (OIS) y símbolos de datos. Un intervalo de datos se define como un conjunto de 500 símbolos de datos que se suceden en un tiempo de símbolos de OFDM. Además, un tiempo de símbolos de OFDM en la supertrama lleva siete intervalos de datos.
En el presente documento se usan las siguientes definiciones para describir una o más realizaciones de un sistema de multiplexación.
Flujo
Un elemento de un servicio; por ejemplo, un servicio puede tener dos flujos: un flujo de audio y un flujo de vídeo.
Servicio
Un contenido de medios que puede tener uno o más flujos.
CLM
Un canal lógico de medios ("canal") usado para datos o para información de control.
Redimensionar
Un procedimiento mediante el cual se redimensionan los servicios para que requieran menos ancho de banda para su transmisión.
Símbolos de información de tara (OIS)
Símbolos de una supertrama que llevan información en cuanto a la situación de diversos CLM en la supertrama.
Intervalo
La menor unidad de ancho de banda asignada a un CLM en un símbolo de la OFDM.
\vskip1.000000\baselineskip
La Fig. 1 muestra una red (100) que comprende una realización de un sistema de multiplexación. La red (100) comprende un dispositivo móvil (102), un servidor (104) y una red (106) de datos. Para los fines de esta descripción, se supondrá que la red (106) de datos opera para comunicarse con uno o más dispositivos portátiles usando la tecnología OFDM; sin embargo, las realizaciones del sistema de multiplexación son también adecuadas para su uso con otras tecnologías de transmisión.
En una realización, el servidor (104) opera para proporcionar servicios a los que pueden abonarse dispositivos en comunicación con la red (106). El servidor (104) está acoplado a la red (106) por medio del enlace (108) de comunicaciones. El enlace (108) de comunicaciones comprende cualquier enlace de comunicaciones adecuado, como un enlace cableado y/o inalámbrico que opere para permitir que el servidor (104) se comunique con la red (106). La red (106) comprende cualquier combinación de redes cableadas y/o inalámbricas que permita que el servidor (104) entregue servicios a dispositivos en comunicación con la red (106), como el dispositivo (102).
Debería hacerse notar que la red (106) puede comunicarse con cualquier número y/o tipos de dispositivos portátiles dentro del ámbito de las realizaciones. Por ejemplo, otros dispositivos adecuados para su uso en las realizaciones del sistema de multiplexación incluyen, sin limitación, una agenda electrónica (PDA), un dispositivo de correo electrónico, un buscapersonas, un ordenador portátil, un reproductor de mp3, un reproductor de vídeo o un ordenador de sobremesa. El enlace inalámbrico (110) comprende un enlace de comunicaciones inalámbricas basado en la tecnología OFDM; sin embargo, en otras realizaciones el enlace inalámbrico puede comprender cualquier tecnología inalámbrica adecuada que opere para permitir que los dispositivos se comuniquen con la red (106).
En esta realización, el dispositivo (102) comprende un teléfono móvil que se comunica con la red (106) por medio del enlace inalámbrico (110). El dispositivo (102) participa en un procedimiento de activación que permite que el dispositivo (102) se abone a la recepción de servicios en la red (106). En una realización, el procedimiento de activación puede llevarse a cabo con el servidor (104); sin embargo, el procedimiento de activación también puede llevarse a cabo con otro servidor, otro proveedor de servicios, otro vendedor minorista de contenidos u otra entidad de red. Para los fines de esta descripción, se supondrá que el dispositivo (102) lleva a cabo el procedimiento de activación con el servidor (104) y que ahora está listo para abonarse y recibir servicios del servidor (104).
En una realización, el servidor (104) se comunica con un servidor (126) de medios de tiempo real (SMTR) que comprende o tiene acceso a contenido que incluye uno o más servicios (112) de tiempo real (TR). El servidor (104) también se comunica con un servidor (128) de medios de tiempo no real (SMTNR) que comprende o tiene acceso a contenido que incluye uno o más servicios (120) distintos al tiempo real (DTR). Por ejemplo, los servicios (112, 120) comprenden contenido multimedia que incluye noticias, deportes, meteorología, información financiera, películas de cine, y/o aplicaciones, programas, conjuntos de instrucciones o cualquier otro tipo de contenido o servicio adecuados. Así, los servicios (112, 120) pueden comprender vídeo, audio u otra información formateada en cualquier formato adecuado. Debería hacerse notar que el servidor (104) también puede comunicarse con uno o más servidores de otros medios que comprenden o tienen acceso a servicios de TR y/o DTR. Los servicios (112, 120) tienen requisitos de entrega asociados que pueden incluir, sin limitación, ancho de banda, prioridad, latencia, tipo de servicio y/o cualquier otro tipo de requisito de entrega.
El servidor (104) también comprende un multiplexor (MUX) (114) que opera para multiplexar eficientemente uno o más de los servicios (112, 120) en una trama (122) de transmisión en base a los requisitos de entrega. Por ejemplo, la trama de transmisión se transmite por la red (106) al dispositivo (102), tal como se muestra con la ruta (118). Se proporciona una descripción más detallada del MUX (114) en otra sección de este documento. Como consecuencia de la operación los MUX (114), los servicios (112, 120) son empaquetados de forma óptima en la trama (122) de transmisión para que se satisfagan los requisitos de entrega (ancho de banda, prioridad, latencia, tipo de servicio, etc.) de los servicios (112, 120), se utilice eficientemente el ancho de banda de transmisión de la trama (122) de transmisión y se conserve la energía en el dispositivo (102) de recepción. Por ejemplo, utilizando eficientemente el ancho de banda disponible, un dispositivo móvil puede recibir servicios transmitidos en un intervalo temporal corto, con lo que se conserva la energía de la batería.
En una realización, el MUX (114) comprende un controlador (116) de redimensionamiento que opera para controlar cómo se redimensionan los servicios (112) de TR y/o los servicios (120) de DTR. Por ejemplo, si los servicios (112) seleccionados de TR que deben ser multiplexados en la trama (122) de transmisión no caben en el ancho de banda disponible de la trama (122) de transmisión, el controlador (116) de redimensionamiento actúa para controlar cómo se redimensionan (o se vuelven a codificar) esos servicios, para reducir sus requisitos de ancho de banda. Por ejemplo, el controlador (116) de redimensionamiento se comunica con el SMTR (126) para solicitar el redimensionamiento seleccionado de un servicio particular de TR. El controlador (116) de redimensionamiento también actúa de manera similar para comunicarse con el SMTNR (128) para controlar cómo se redimensionan los servicios (120) seleccionados de DTR. Como consecuencia de la operación del controlador (116) de redimensionamiento, los servicios redimensionados de TR y DTR cabrán dentro del ancho de banda disponible de la trama (122) de transmisión. Se proporciona una descripción más detallada del controlador (116) de redimensionamiento en otra sección de este documento.
En una realización, el dispositivo (102) comprende lógica (124) de desmultiplexor (DE-MUX) que opera para desmultiplexar la trama (122) de transmisión para obtener los servicios (112, 120) transmitidos. Dado que los servicios han sido multiplexados de manera eficiente en la trama (122) de transmisión, se conserva el ancho de banda y el dispositivo (102) utiliza menos energía para recibir los servicios transmitidos.
Por lo tanto, las realizaciones del sistema de multiplexación actúan para llevar a cabo una o más de las siguientes funciones para proporcionar una multiplexación eficiente de servicios de TR y DTR en una trama de transmisión.
1.
Recibir o lograr acceso a uno o más servicios de TR y/o DTR en una red.
2.
Determinar si los servicios de TR y/o DTR caben en el ancho de banda disponible de una trama de transmisión.
3.
Si los servicios de TR y/o DTR no caben en la trama de transmisión, redimensionar uno o más servicios seleccionados de TR y/o DTR para reducir sus requisitos de ancho de banda.
4.
Utilizar realizaciones de un algoritmo de asignación para montar una trama de transmisión con servicios de TR originales y/o redimensionados y con servicios de DTR originales y/o redimensionados para que la trama esté empaquetada de manera eficiente.
5.
Transmitir la trama de transmisión por una red a uno o más dispositivos de recepción.
\vskip1.000000\baselineskip
Por lo tanto, en una o más realizaciones, un sistema de multiplexación actúa para multiplexar y transmitir de manera eficiente uno o más servicios de TR y/o de DTR a dispositivos en una red de datos. Debería hacerse notar que el sistema de multiplexación no está limitado a las implementaciones descritas con referencia a la Fig. 1, y que son posibles otras implementaciones dentro del ámbito de las realizaciones.
La Fig. 2 muestra una realización de un servidor (200) para su uso en un sistema de multiplexación. Por ejemplo, el servidor (200) puede usarse como servidor (104) en la Fig. 1. El servidor (200) comprende lógica (202) de procesamiento, memoria (204), y lógica (206) del transceptor, acopladas todas al bus (208) de datos. El servidor (200) también comprende lógica (210) del multiplexor (MUX) y el controlador (212) de redimensionamiento, que están también acoplados al bus (208) de datos. Debería hacerse notar que el servidor (200) representa únicamente una implementación y que son posibles otras implementaciones dentro del ámbito de las reivindicaciones.
En una o más realizaciones, la lógica (202) de procesamiento comprende una CPU, un procesador, un conjunto de puertas, lógica de componentes físicos, elementos de memoria, una máquina virtual, componentes lógicos y/o cualquier combinación de componentes físicos y de componentes lógicos. Así, la lógica (202) de procesamiento comprende generalmente lógica para ejecutar instrucciones legibles por máquinas y para controlar uno o más elementos funcionales adicionales del servidor (200) por medio del bus (208) de datos.
La lógica (206) del transceptor comprende componentes físicos y/o componentes lógicos que actúan para permitir que el servidor (200) transmita y reciba datos y/u otra información con dispositivos o sistemas remotos por medio del canal (214) de comunicaciones. Por ejemplo, en una realización, el canal (214) de comunicaciones comprende cualquier tipo adecuado de enlace de comunicaciones para permitir que el servidor (200) se comunique directamente con otros servidores o con una o más redes de datos y/o con dispositivos acoplados a esas redes de datos.
La memoria (204) comprende cualquier tipo adecuado de dispositivo o elementos de almacenamiento que permita que el servidor (200) almacene parámetros de información. Por ejemplo, en una realización la memoria (204) comprende cualquier tipo de RAM, memoria flash, disco duro o cualquier otro tipo de dispositivo de almacenamiento.
En una realización, la lógica (202) de procesamiento actúa para comunicarse con uno o más proveedores de contenidos por medio de la lógica (208) del transceptor y del canal (214). Por ejemplo, la lógica (202) de procesamiento se comunica con un SMTR para recibir servicios (216) de TR y con un SMTNR para recibir servicios (218) de DTR. Por ejemplo, los servicios (216) de TR y los servicios (218) de DTR comprenden uno o más flujos de contenidos que deben ser entregados a dispositivos en una red. Además, los servicios (216) de TR y (218) de DTR tienen requisitos de entrega asociados que incluyen, sin limitación, ancho de banda, prioridad, tipo de servicio y/o cualquier otro tipo de requisito de entrega.
En una o más realizaciones, la lógica (210) del MUX comprende una CPU, un procesador, un conjunto de puertas, lógica de componentes físicos, elementos de memoria, una máquina virtual, componentes lógicos y/o cualquier combinación de componentes físicos y de componentes lógicos. La lógica (210) del MUX actúa para multiplexar uno o más de los servicios (216) de TR y/o de los servicios (218) de DTR en una trama de transmisión en base a los requisitos de entrega para su transmisión a dispositivos usando la lógica (206) del transceptor y el canal (214). Por ejemplo, la lógica (210) del MUX actúa para determinar si los servicios (218) seleccionados de DTR, los servicios (216) seleccionados de TR y los servicios de mejor esfuerzo (no mostrados) caben en el ancho de banda disponible de la trama de transmisión (con respecto a los requisitos de entrega). Por ejemplo, los servicios de mejor esfuerzo comprenden cualquier tipo de datos o de información que precise ser transmitido. Si los flujos anteriores caben en el ancho de banda, la lógica (210) del MUX actúa para empaquetarlos en la trama de transmisión según una o más realizaciones del algoritmo descrito en el presente documento.
Si los servicios (216) seleccionados de TR y/o los servicios (218) seleccionados de DTR no caben en la trama de transmisión, la lógica (210) del MUX envía una señal al controlador (212) de redimensionamiento. El controlador (212) de redimensionamiento actúa para controlar cómo se redimensionan esos servicios para que quepan en el ancho de banda disponible de la trama de transmisión. En una realización, el controlador (212) de redimensionamiento actúa para determinar cuánto "redimensionamiento" precisa un servicio particular para reducir sus requisitos de ancho de banda de transmisión, y luego ensambla una solicitud de redimensionamiento que se transmite al servidor de medios asociado con ese servicio. Por ejemplo, la solicitud de redimensionamiento es transmitida por la lógica (206) del transceptor usando el enlace (214) de comunicaciones. Acto seguido, el servidor de medios actúa para redimensionar el servicio según se ha solicitado. Una vez que los servicios han sido redimensionados para reducir sus requisitos de ancho de banda, la lógica (210) del MUX es capaz de empaquetar de manera eficiente los servicios originales y cualesquiera servicios redimensionados en la trama de transmisión. Se proporciona una descripción más detallada de los algoritmos de asignación proporcionados por la lógica (210) del MUX en otra sección de este
documento.
En una o más realizaciones, el controlador (212) de redimensionamiento comprende una CPU, un procesador, un conjunto de puertas, lógica de componentes físicos, elementos de memoria, una máquina virtual, componentes lógicos y/o cualquier combinación de componentes físicos y de componentes lógicos. El controlador (212) de redimensionamiento actúa para controlar cómo se redimensionan uno o más de los flujos de los servicios (216) de TR y de los servicios (218) de DTR para que esos flujos quepan en el ancho de banda disponible de una trama de transmisión. Así, el controlador (212) de redimensionamiento actúa para redimensionar uno o más servicios para ajustar sus requisitos de entrega asociados. Por ejemplo, puede redimensionarse un servicio para que se ajusten (es decir, se reduzcan) sus requisitos de ancho de banda. En una realización, el controlador (212) de redimensionamiento es parte de la lógica (210) del MUX. Se proporciona una descripción más detallada del controlador (212) de redimensionamiento en otra sección de este documento.
En una realización, el sistema de multiplexación comprende un programa informático que tiene una o más instrucciones informáticas ("instrucciones") almacenadas en un medio legible por un ordenador, que, cuando sean ejecutadas por al menos un procesador, por ejemplo, la lógica (202) de procesamiento proporciona las funciones del sistema de multiplexación descritas en el presente documento. Por ejemplo, pueden cargarse instrucciones en el servidor (200) procedentes de medios legibles por ordenador, como un disco flexible, un CDROM, una tarjeta de memoria, un dispositivo de memoria flash, RAM, ROM o cualquier otro tipo de dispositivo de memoria o medio legible por ordenador que se comunican con el servidor (200). En otra realización, las instrucciones pueden ser descargadas en el servidor (200) desde un dispositivo externo o un recurso de red que se comuniquen con el servidor (200) por la lógica (206) del transceptor. Las instrucciones, cuando son ejecutadas por la lógica (202) de procesamiento, proporcionan una o más realizaciones de un sistema de multiplexación tal como se describen en el presente documento.
Así, el servidor (200) actúa para proporcionar realizaciones de un sistema de multiplexación para multiplexar de manera eficiente flujos asociados con servicios (216) de TR y servicios (218) de DTR en una trama de transmisión para su transmisión a los dispositivos en una red.
Algoritmo de asignación de intervalos en la trama de transmisión
La siguiente descripción describe un algoritmo de asignación de intervalos para su uso en realizaciones de un sistema de multiplexación. En una realización, el algoritmo de asignación de intervalos actúa para asignar intervalos en una trama de transmisión a flujos de contenidos asociados con servicios disponibles de TR y DTR. El algoritmo de asignación actúa para lograr una utilización eficiente del ancho de banda y, con ello, permite que un dispositivo de recepción conserve energía. En una o más realizaciones, el algoritmo de asignación se lleva a cabo por medio y/o bajo el control de la lógica (210) del MUX.
Para los fines de esta descripción, en lo sucesivo se denominará supertrama a la trama de transmisión. Debería hacerse notar que la supertrama es únicamente una implementación y que las realizaciones del sistema de multiplexación son adecuadas para su uso con otros tipos de implementaciones de tramas de transmisión.
En una realización, una supertrama comprende una porción de símbolos de datos que se utiliza para la asignación de ancho de banda. La porción de símbolos de datos de una supertrama se divide en cuatro porciones iguales, a las que en lo sucesivo se denomina "tramas". Los datos de los servicios que deben transmitirse, que en una realización están en bloques Reed Solomon (RS), se distribuyen por igual en las cuatro tramas. Por lo tanto, la operación del algoritmo de asignación de intervalos en una supertrama es una repetición de la operación del algoritmo de asignación de intervalos en una trama. Así, la siguiente descripción describe la asignación de intervalos en una trama, pero es igualmente aplicable a toda una supertrama. Además, el algoritmo de asignación de intervalos presentado puede usarse para asignar intervalos para todos los tipos de servicios, incluyendo, sin limitación, servicios de tiempo real, servicios de tiempo no real y transmisión de datos por IP.
Asignaciones de canales
En una o más realizaciones, un CLM lleva uno o más flujos del mismo servicio. Así, cada servicio puede tener uno o más CLM, estando escrita su ubicación en la trama en los OIS. Un dispositivo que desee recibir un CLM particular obtiene en los OIS la ubicación de ese CLM. La ubicación de un CLM en una trama se describe en los OIS usando lo siguiente.
- Símbolo inicial
- Intervalo inicial
- Intervalo más bajo
- Intervalo más alto
- Total de intervalos
La Fig. 3 muestra una realización de una trama (300) que ilustra la asignación de intervalos de un CLM para su uso en un sistema de multiplexación. La trama (300) comprende "N" símbolos OFDM para cada uno de siete (7) intervalos. La asignación de intervalos del CLM es la zona sombreada mostrada de forma general en (302). Se usan dos variables para describir la asignación de intervalos, concretamente longitud y altura. La longitud es en símbolos OFDM y la altura es en intervalos.
Formas de asignación
La Fig. 4 muestra una realización de una trama (400) que comprende diversas formas de asignación de CLM para su uso en un sistema de multiplexación. Por ejemplo, las asignaciones de CLM son las zonas sombreadas mostradas en general en (402, 404, 406) y (408). En una realización, las formas de asignación se seleccionan para que puedan ser descritas en los OIS de la trama (400) usando un número fijo limitado de campos de datos.
Altura de una asignación
La Fig. 5 muestra una tabla (500) que ilustra una relación entre un parámetro del modo de transmisión y un valor máximo de la altura del intervalo para una asignación del CLM seleccionado. La tasa máxima de salida de un turbodecodificador en un dispositivo receptor limita el número de turbopaquetes que pueden ser decodificados en un solo símbolo de OFDM. En consecuencia, la altura de la asignación del CLM puede estar restringida. Se usa una variable denominada altura máxima del intervalo ("maxAlturaIntervalo") para denotar la altura máxima del intervalo de una asignación de CLM para un modo de transmisión dado. Por ejemplo, puede verse en la tabla (500) que un modo de transmisión de cuatro (4) soporta una asignación de CLM que tiene una maxAlturaIntervalo de tres (3), y un modo de transmisión de uno (1) soporta una asignación de CLM que tiene una maxAlturaIntervalo de siete (7).
Algoritmo de asignación
En una realización, se agrupan todos los CLM de un servicio seleccionado para que sus asignaciones sean temporalmente adyacentes en la trama. Esto reduce el número de veces que tiene que "despertarse" un dispositivo receptor para recibir diferentes CLM de un servicio. Así se reduce o se conserva el consumo de energía de un dispositivo receptor.
Con respecto al consumo de energía de un dispositivo receptor, es preferible que la altura de una asignación de CLM sea su maxAlturaIntervalo. Esto minimiza el posible tiempo de encendido para que el dispositivo reciba ese CLM. Sin embargo, para la facilidad de empaquetado, todos los CLM agrupados de un servicio reciben una asignación con la misma altura. Así, el concepto de "maxAlturaIntervalo de un servicio" se define como el mínimo o el menor de los parámetros de maxAlturaIntervalo de todos los CLM agrupados para ese servicio. En lo que resta de la presente descripción, la altura de un servicio significará la altura común de todas las asignaciones de CLM de ese servicio.
La Fig. 6 muestra una realización de una trama (600) que ilustra diferentes asignaciones de intervalos de CLM para su uso en un sistema de multiplexación. La trama (600) está dividida en asignaciones de CLM que tienen bloques de diferentes alturas. En una realización, las alturas de los bloques se corresponden con los posibles valores de maxAlturaIntervalo que puede adoptar un servicio. En la tabla (500) mostrada en la Fig. 5 puede determinarse que hay cuatro valores posibles de maxAlturaIntervalo (es decir, 3, 4, 6 o 7). En una realización, el algoritmo de asignación de intervalos actúa para empaquetar servicios en diferentes asignaciones de bloque en base al parámetro maxAlturaIntervalo. Por ejemplo, se muestran asignaciones basadas en los posibles valores de maxAlturaIntervalo (es decir, 3, 4, 6 o 7) en (602, 604, 606) y (607), respectivamente.
Operación del algoritmo de asignación
La siguiente es una descripción de realizaciones de un algoritmo de asignación para su uso en un sistema de multiplexación. En una realización, la lógica (210) del MUX actúa para implementar el algoritmo de asignación para llevar a cabo las funciones descritas a continuación.
Las entradas al algoritmo de asignación son como sigue.
1.
Número de intervalos de datos que tiene cada canal de un servicio para una trama.
2.
La maxAlturaIntervalo de cada canal de un servicio, que está determinada por el modo de transmisión de ese canal.
\vskip1.000000\baselineskip
Las salidas del algoritmo son como sigue.
1.
Una decisión que indica si es posible el empaquetado. Si es posible el empaquetado, el algoritmo da las ubicaciones de las asignaciones de CLM.
2.
Si no es posible el empaquetado, el algoritmo de asignación solicita un redimensionamiento de servicios al controlador (212) de redimensionamiento. En una realización, el controlador (212) de redimensionamiento decide qué servicios redimensionar y con qué tasas. Se proporciona una descripción de la operación del controlador (212) de redimensionamiento en otra sección de este documento.
La Fig. 7 muestra una realización de un procedimiento (700) para proporcionar el uso de un algoritmo de asignación en un sistema de multiplexación. Por ejemplo, el procedimiento (700) actúa para asignar intervalos a uno o más servicios de TR. En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (700) tal como se describe más abajo.
En el bloque (702) se lleva a cabo una comprobación para determinar si el número total de intervalos requeridos por todos los servicios de TR que han de ser multiplexados en una trama es mayor que el número de intervalos disponibles. Por ejemplo, la lógica (210) del MUX efectúa esta determinación. En una realización, el número de intervalos disponibles tiene un valor de siete veces el "número de símbolos por trama" (numSimbolosOfdmPorTrama). Si el número requerido de intervalos es mayor que los intervalos disponibles, el procedimiento prosigue al bloque (718). Si el número requerido de intervalos es menor que el número de intervalos disponibles, o igual, el procedimiento prosigue al bloque (704).
En el bloque (718) se determina un error de empaquetado. Por ejemplo, en una realización, la lógica (210) del MUX determina que no hay suficientes intervalos disponibles para empaquetar los servicios, y entonces el procedimiento termina en el bloque (716).
En el bloque (704) se calcula un parámetro de maxAlturaIntervalo para cada servicio de TR. Por ejemplo, en una realización, la lógica (210) del MUX actúa para llevar a cabo este cálculo. La maxAlturaIntervalo indica el número máximo de intervalos por símbolo permisible para cada servicio de TR.
En el bloque (706), los servicios de TR que han de ser multiplexados se agrupan en "servicios de tres bloques" (srvcsTresBlq), "servicios de cuatro bloques" (srvcsCuatroBlq), "servicios de seis bloques" (srvcsSeisBlq) y "servicios de siete bloques" (srvcsSieteBlq) en base a sus parámetros de maxAlturaIntervalo. En una realización, la lógica (210) del MUX actúa para agrupar los servicios según sus requisitos de intervalos.
En el bloque (708), los servicios de TR de cada grupo se ordenan por número decreciente de los intervalos de datos. Por ejemplo, los servicios de TR se ordenan del mayor al menor con respecto a los intervalos de datos reque-
ridos.
En el bloque (710) se calculan las variables de longitud L7, L6, L4 y L3. Por ejemplo, la longitud de srvcsSieteBlq es "L7", la longitud de srvcsSeisBlq es "L6", la longitud de srvcsCuatroBlq es "L4" y la longitud de srvcsTresBlq es "L3." Por ejemplo, la longitud de todos los srvcsSieteBlq se define como:
L7 = ceil (total de intervalos de datos de los srvcsSieteBlq/7)
en la que ceil(x) es el menor entero mayor que x. En una realización, la lógica (210) del MUX actúa para calcular los parámetros de longitud (L7, L6, L4 y L3).
En el bloque (712) se llevan a cabo una o más comprobaciones de desigualdad. Por ejemplo, se comprueban las siguientes desigualdades para determinar si cada una es verdadera o falsa.
(1)L7 + L3 + L6 < = numSimbolosOfdmPorTrama
(2)L7 + L4 + L6 < = numSimbolosOfdmPorTrama
Como resultado a las anteriores inecuaciones, se determinan cuatro condiciones de desigualdad. La primera desigualdad (1) tiene resultados verdadero y falso a los que en lo sucesivo se aludirá como (1V, 1F). La segunda desigualdad (2) tiene resultados verdadero y falso a los que en lo sucesivo se aludirá como (2V, 2F). Así, las dos desigualdades anteriores proporcionan cuatro condiciones de desigualdad (concretamente, 1V2V, 1V2F, 1F2V, 1F2F) que se usan para asignar intervalos según una o más realizaciones de un sistema de multiplexación.
En el bloque (714) se asignan intervalos a los servicios de TR en base a una de cuatro condiciones de desigualdad. Por ejemplo, se usan los resultados de las comprobaciones de desigualdad llevadas a cabo en el bloque (712) para asignar intervalos a los servicios de TR. Cada una de las cuatro condiciones determina asignaciones según se describe en los procedimientos de asignación expuestos en las siguientes secciones del presente documento.
Debería hacerse notar que el procedimiento (700) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (700) dentro del ámbito de las realizaciones.
La Fig. 8 muestra una realización de un procedimiento (800) para asignar intervalos a servicios de TR en base a una primera condición de desigualdad para su uso en un sistema de multiplexación. Por ejemplo, el procedimiento (800) proporciona asignaciones de intervalos asociadas con una primera condición de desigualdad descrita por (1V2V). En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (800) tal como se describe a continuación.
En el bloque (802), se lleva a cabo una comprobación para determinar si el estado de la primera desigualdad es verdadero (es decir, 1V). Si el estado de la primera desigualdad (1) no es 1V, el procedimiento prosigue al bloque (804). Si el estado de la primera desigualdad (1) es 1V, el procedimiento prosigue al bloque (806).
\newpage
En el bloque (804), el procedimiento prosigue a comprobar la segunda condición de desigualdad. Por ejemplo, dado que el estado de la primera desigualdad (1) no es 1V, el procedimiento prosigue al procedimiento (900) para comprobar la segunda condición de desigualdad (1V2F).
En el bloque (806), se lleva a cabo una comprobación para determinar si el estado de la segunda desigualdad (2) es verdadero (es decir, 2V). Si el estado de la segunda desigualdad (2) no es 2V, el procedimiento prosigue al bloque (804). Si el estado de la segunda desigualdad (2) es 2V, el procedimiento prosigue al bloque (808).
En el bloque (808), el procedimiento prosigue a la operación final. Dado que existen ambos estados (1V2V), el procedimiento prosigue a una operación final (descrita más abajo) para completar la asignación de intervalos.
Debería hacerse notar que el procedimiento (800) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (800) dentro del ámbito de las realizaciones.
La Fig. 9 muestra una realización de un procedimiento (900) para asignar intervalos a servicios de TR en base a una segunda condición de desigualdad para su uso en un sistema de multiplexación. Por ejemplo, el procedimiento (900) proporciona asignaciones de intervalos asociadas con una segunda condición de desigualdad descrita por (1V2F). En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (900) tal como se describe a continuación.
En el bloque (902), se lleva a cabo una comprobación para determinar si el estado de la primera desigualdad (1) es verdadero (es decir, 1V). Si el estado de la primera desigualdad (1) no es 1V, el procedimiento prosigue al bloque (904). Si el estado de la primera desigualdad (1) es 1V, el procedimiento prosigue al bloque (906).
En el bloque (904), el procedimiento prosigue a comprobar la tercera condición de desigualdad. Por ejemplo, dado que el estado de la primera desigualdad (1) no es 1V, el procedimiento prosigue al procedimiento (1100) para comprobar la tercera condición de desigualdad (1F2V).
En el bloque (906), se lleva a cabo una comprobación para determinar si el estado de la segunda desigualdad (2) es falso (es decir, 2F). Si el estado de la segunda desigualdad (2) no es 2F, el procedimiento prosigue al bloque (904). Si el estado de la segunda desigualdad (2) es 2F, el procedimiento prosigue al bloque (908), donde se procesan los servicios de cuatro bloques.
La Fig. 10 muestra una trama (1000) que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de cuatro bloques. Por ejemplo, los bloques de asignación comprenden tresBlq (1002), cuatroBlq (1004), seisBlq (1006) y sieteBlq (1008). Los bloques de asignación también incluyen blqReg2 (1010). La trama (1000) ilustra cómo actúa el procedimiento (900) para asignar servicios excedentes de cuatro bloques (srvcCuatroBlq) (1012) a los bloques de asignación cuatroBlq (1004), tresBlq (1002) y blqReg2 (1010). En una realización, el procedimiento (900) actúa para asignar servicios de TR a la trama (1000) tal como se muestra en la Fig. 10.
Con referencia otra vez a la Fig. 9, en el bloque (908) se procesan servicios de cuatro bloques. Por ejemplo, en una realización, la lógica (210) del MUX actúa para procesar servicios de cuatro bloques, tal como se describe más abajo con referencia a la trama (1000) mostrada en la Fig. 10.
a.
Encontrar el srvcCuatroBlq hasta el cual puede contener cuatroBlq (1004) para satisfacer la condición de las primeras desigualdades descritas anteriormente con referencia al procedimiento (800). A continuación, actualizar cuatroBlq (1004) sin srvcsCuatroBlq excedentes.
b.
Mover los srvcsCuatroBlq excedentes a tresBlq (1002) y blqReg2 (1010).
blqReg2 (1010) es, tal como se muestra en la Fig. 10, un bloque de altura 1.
c.
Mientras se mueven los srvcsCuatroBlq excedentes, comprobar también si los servicios sucesivos pueden caber en el propio cuatroBlq (1004).
d.
Completar el movimiento únicamente si las siguientes desigualdades condicionales son verdaderas.
((L7+L3+L6) <= numSimbolosOfdmPorTrama) &&
((L7+L4+L6) <= numSimbolosOfdmPorTrama) &&
((L7+LA+Lreg2) <= numSimbolosOfdmPorTrama)
\vskip1.000000\baselineskip
En el bloque (910) se lleva a cabo una comprobación para determinar si los servicios excedentes de cuatro bloques pueden ser movidos como se ha descrito anteriormente. Si los srvcsCuatroBlq excedentes no pueden ser movidos ni a tresBlq (1002) ni a blqReg2 (1010) para satisfacer las desigualdades condicionales del bloque (908), el procedimiento prosigue entonces al bloque (914), en el que se determina un error de empaquetado y el procedimiento se detiene. Si los srvcsCuatroBlq excedentes pueden ser movidos, el procedimiento prosigue entonces al bloque (912).
En el bloque (912), el procedimiento prosigue a la operación final. Dado que los srvcsCuatroBlq excedentes pudieron ser movidos con éxito, el procedimiento prosigue a una operación final para completar la asignación de intervalos.
Debería hacerse notar que el procedimiento (900) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (900) dentro del ámbito de las realizaciones.
La Fig. 11 muestra una realización de un procedimiento (1100) para asignar intervalos a servicios de TR en base a una tercera condición de desigualdad para su uso en un sistema de multiplexación. Por ejemplo, el procedimiento (1100) proporciona asignaciones de intervalos cuando existe una tercera condición de desigualdad (1F2V). En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (1100) tal como se describe a continuación.
En el bloque (1102), se lleva a cabo una comprobación para determinar si el estado de la primera desigualdad (1) es falso (es decir, 1F). Si el estado de la primera desigualdad (1) no es 1F, el procedimiento prosigue al bloque (1104). Si el estado de la primera desigualdad (1) es 1F, el procedimiento prosigue al bloque (1106).
En el bloque (1104), el procedimiento prosigue a procesar la cuarta condición de desigualdad. Por ejemplo, dado que el estado de la primera desigualdad (1) no es 1F, el procedimiento prosigue al procedimiento (1300) para procesar la cuarta condición de desigualdad (1F2F), que ahora tiene que existir, porque es la única condición que queda.
En el bloque (1106), se lleva a cabo una comprobación para determinar si el estado de la segunda desigualdad (2) es verdadero (es decir, 2V). Si el estado de la segunda desigualdad (2) no es 2V, el procedimiento prosigue al bloque (1104). Si el estado de la segunda desigualdad (2) es 2V, el procedimiento prosigue al bloque (1108).
La Fig. 12 muestra una trama (1200) que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de tres bloques. Por ejemplo, los bloques de asignación comprenden tresBlq (1202), cuatroBlq (1204), seisBlq (1206), blqReg2 (1208) y blqReg1 (1210). La trama (1200) ilustra cómo actúa el procedimiento (1100) para asignar servicios excedentes de tres bloques (srvcsTresBlq) (1212) a los bloques de asignación tresBlq (1202), blqReg1 (1210) y blqReg2 (1208).
Con referencia otra vez a la Fig. 11, en el bloque (1108) se procesan servicios de tres bloques (srvcsTresBlq). Por ejemplo, en una realización, la lógica (210) del MUX actúa para procesar los srvcsTresBlq como sigue.
a.
Encontrar el srvcTresBlq hasta el cual puede contener tresBlq (1202) para satisfacer la condición de las primeras desigualdades descritas anteriormente con referencia al procedimiento (800). A continuación, actualizar tresBlq (1202) sin srvcsTresBlq excedentes.
b.
Mover los srvcsTresBlq excedentes a blqReg1 (1210) y blqReg2 (1208). blqReg2 (1210) es, tal como se muestra en la Fig. 12, un bloque de altura 3.
c.
Mientras se mueven, comprobar también si los servicios sucesivos pueden caber en el propio tresBlq (1202).
d.
Completar el movimiento únicamente si las siguientes desigualdades condicionales son verdaderas.
((L7+L3+L6) <= numSimbolosOfdmPorTrama) &&
((L7+L4+Lreg1+L6) <= numSimbolosOfdmPorTrama) &&
((L7+L4+Lreg2) <= numSimbolosOfdmPorTrama)
\vskip1.000000\baselineskip
En el bloque (1110) se lleva a cabo una comprobación para determinar si los servicios excedentes de tres bloques pueden ser movidos. Si los srvcsTresBlq excedentes no pueden ser movidos ni a blqReg1 (1210) ni a blqReg2 (1208) para satisfacer las desigualdades condicionales del bloque (1108), el procedimiento prosigue entonces al bloque (1112), en el que se determina un error de empaquetado y el procedimiento se detiene. Si los servicios excedentes de tres bloques pueden ser movidos, el procedimiento prosigue entonces al bloque (1114).
En el bloque (1114), el procedimiento prosigue a la operación final. Dado que los srvcsTresBlq excedentes pudieron ser movidos con éxito, el procedimiento prosigue a una operación final para completar la asignación de intervalos.
Debería hacerse notar que el procedimiento (1100) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (1100) dentro del ámbito de las realizaciones.
La Fig. 13 muestra una realización de un procedimiento (1300) para asignar intervalos a servicios de TR en base a una cuarta condición de desigualdad para su uso en un sistema de multiplexación. El procedimiento (1300) proporciona asignaciones de intervalos cuando no existen las condiciones de desigualdad primera, segunda y tercera. En este caso, el estado de las ecuaciones de desigualdad puede describirse como (1F2F). En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (1300) tal como se describe a continuación.
La Fig. 14 muestra una trama (1400) que ilustra la operación de una realización de un sistema de multiplexación para asignar servicios excedentes de seis bloques. Por ejemplo, la trama (1400) comprende los bloques de asignación tresBlq (1402), cuatroBlq (1404), blqReg2 (1406) y seisBlq (1408). La trama (1400) ilustra cómo se asignan los servicios excedentes de seis bloques (srvcsSeisBlq) (1410).
Con referencia otra vez a la Fig. 13, en el bloque (1302) se procesan servicios de seis bloques. Por ejemplo, en una realización, la lógica (210) del MUX actúa para procesar los servicios de seis bloques como sigue.
a.
Encontrar el srvcSeisBlq hasta el cual pueden contener cuatroBlq (1404) y seisBlq (1408) para satisfacer la condición de las primeras desigualdades descritas anteriormente con referencia al procedimiento (800). A continuación, actualizar seisBlq (1408) sin servicios excedentes.
b.
Mover los srvcsSeisBlq excedentes a tresBlq (1402), cuatroBlq (1404) y blqReg2 (1406).
c.
Mientras se mueven, comprobar también si los servicios sucesivos pueden caber en el propio seisBlq (1408).
d.
Completar el movimiento únicamente si las siguientes desigualdades condicionales son verdaderas.
((L7+L3+L6) <= numSimbolosOfdmPorTrama) &&
((L7+L4+L6) <= numSimbolosOfdmPorTrama) &&
((L7+L4+Lreg2) <= numSimbolosOfdmPorTrama)
\vskip1.000000\baselineskip
En el bloque (1304) se lleva a cabo una comprobación para determinar si los servicios excedentes de seis bloques pueden ser movidos. Si los servicios excedentes de seis bloques no pueden ser movidos a cuatroBlq (1404), tresBlq (1402) o blqReg2 (1406) para satisfacer las desigualdades condicionales del bloque (1302), el procedimiento prosigue entonces al bloque (1306), en el que se determina un error de empaquetado y el procedimiento se detiene. Si los servicios excedentes de seis bloques pueden ser movidos, el procedimiento prosigue entonces al bloque (1308).
En el bloque (1308), el procedimiento prosigue a la operación final. Dado que los srvcsSeisBlq excedentes pudieron ser movidos con éxito, el procedimiento prosigue a una operación final para completar la asignación de intervalos.
Debería hacerse notar que el procedimiento (1300) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (1300) dentro del ámbito de las realizaciones.
Operación final
Así, a partir de las operaciones llevadas a cabo en lo que antecede, se obtiene información referente a qué bloque es asignado cada servicio de TR. Además, ahora se conoce el número de intervalos de datos que tiene por trama cada canal de un servicio de TR. Esta información es suficiente para llegar a la ubicación de cada asignación de canal. En una realización, los intervalos pueden ser asignados de manera contigua a los canales dentro de un bloque, respetando su limitación de altura máxima.
Ejemplo de empaquetado
La Fig. 15 muestra una trama (1500) que ilustra la operación de las realizaciones del algoritmo de asignación para empaquetar dos servicios de TR en una trama de transmisión para su uso en un sistema de multiplexación. En este ejemplo, los dos servicios de TR, concretamente el servicio A y el B, son empaquetados en una región cuatroBlq de la trama (1500). Para los fines de la ilustración, se supondrá que las operaciones previas han determinado que ambos servicios de TR están en la región cuatroBlq. También se supondrá que ambos servicios de TR tienen dos canales, concretamente el 1 y el 2. Se supondrá, además, que el número de intervalos de datos para cada canal es como sigue.
Canal 1 del servicio A = 9
Canal 2 del servicio A = 9
Canal 1 del servicio B = 8
Canal 2 del servicio B = 7
\global\parskip0.950000\baselineskip
Tal como se ilustra en la trama (1500), los servicios de TR están empaquetados en la región cuatroBlq según los siguientes parámetros.
Canal 1 Servicio A (1502)
Símbolo inicial = 5
Intervalo inicial = 6
Intervalo inferior = 4
Intervalo superior = 7
Total de intervalos = 9
\vskip1.000000\baselineskip
Canal 2 Servicio A (1504)
Símbolo inicial = 7
Intervalo inicial = 7
Intervalo inferior = 4
Intervalo superior = 7
Total de intervalos = 9
\vskip1.000000\baselineskip
Canal 1 Servicio B (1506)
Símbolo inicial = 10
Intervalo inicial = 4
Intervalo inferior = 4
Intervalo superior = 7
Total de intervalos = 8
\vskip1.000000\baselineskip
Canal 2 Servicio B (1508)
Símbolo inicial = 12
Intervalo inicial = 4
Intervalo inferior = 4
Intervalo superior = 7
Total de intervalos = 7
\vskip1.000000\baselineskip
Resumen del algoritmo
En una o más realizaciones, el algoritmo de asignación proporciona un empaquetado eficiente de flujos en una trama, minimizándose con ello la frecuencia con que un dispositivo receptor "se despierta" o el tiempo que permanece encendido. Por ejemplo, agrupar los canales de un servicio reduce la frecuencia del despertar, mientras que transmitir un servicio con su maxAlturaIntervalo reduce el tiempo que permanece encendido.
En una realización, si falla una asignación de intervalos proporcionada por el algoritmo debido a una de las cuatro condiciones de desigualdad, el algoritmo traslada directrices al controlador (212) de redimensionamiento, que controla cómo se redimensionan los servicios. Si el controlador (212) de redimensionamiento hace que se redimensionen los servicios en base a estas directrices, se garantiza una solución de empaquetado.
La Fig. 16 muestra una trama (1600) que ilustra la operación de una realización de un algoritmo de asignación para empaquetar servicios de TR de tal manera que los intervalos no usados se agrupen en dos zonas. Reunir los intervalos no usados en menos zonas garantiza una mejor utilización de estos intervalos por los servicios cuya prioridad es menor que la de los servicios que fueron introducidos en el algoritmo de asignación. En una realización, pueden empaquetarse en estas zonas los servicios DTR. Por ejemplo, en la trama (1600), los intervalos no usados son grupos en las zonas (1602) y (1604).
\global\parskip1.000000\baselineskip
Algoritmo de redimensionamiento de servicios de tiempo real
En una o más realizaciones, el controlador (116) de redimensionamiento actúa para controlar cómo se redimensionan los servicios de modo que puedan empaquetarse en una trama. Por ejemplo, los servicios se redimensionan para ajustar sus requisitos de entrega asociados. En una realización, son redimensionados uno o más servicios para reducir los requisitos asociados de ancho de banda; sin embargo, el controlador (116) de redimensionamiento actúa para redimensionar servicios para ajustar cualquiera de los requisitos de entrega asociados. La siguiente descripción describe un algoritmo de redimensionamiento que actúa para redimensionar cadenas de componentes en servicios de TR. También se proporcionan las condiciones que dan origen al redimensionamiento de los servicios de TR. En una realización, el controlador (116) de redimensionamiento actúa para implementar un algoritmo de redimensionamiento que determina los parámetros del redimensionamiento. A continuación, estos parámetros son transmitidos al SMTR asociado con los servicios de TR en una solicitud de redimensionamiento. Acto seguido, el SMTR actúa para redimensionar los servicios identificados de TR según los parámetros de la solicitud de redimensionamiento.
Debería hacerse notar también que el controlador (116) de redimensionamiento actúa para redimensionar cualquier servicio DTR. Por ejemplo, el controlador (116) de redimensionamiento es operable para determinar cómo uno o más servicios DTR deberían ser redimensionados y puestos en comunicación con cualquier SMTNR para implementar el redimensionamiento determinado. En consecuencia, se ajustarán los requisitos de entrega asociados con esos servicios. Por ejemplo, el controlador (116) de redimensionamiento puede comunicarse con un SMTNR para reducir el requisito de ancho de banda de un servicio DTR, ajustando con ello sus requisitos de entrega. Así, las realizaciones descritas en el presente documento con referencia al redimensionamiento de servicios de TR son igualmente aplicables también a los servicios DTR.
Tal como se muestra en la Fig. 1, el MUX (114) recibe datos de flujo de contenidos y datos asociados de señalización procedentes del SMTR (126) y del SMTNR (128). En cada supertrama, el MUX (114) negocia un ancho de banda para datos con el SMTR (126) para todos los servicios activos de tiempo real, y opcionalmente con el SMTNR (128) para los servicios DTR. En una realización, la negociación de ancho de banda implica la siguiente secuencia de operaciones.
a.
El MUX (114) envía un mensaje ObtenerTamanoDatos.Solicitud al SMTR (126) para solicitar los tamaños de los datos para los servicios de TR que han de enviarse en una supertrama.
b.
El SMTR (126) envía un mensaje ObtenerTamanoDatos.Respuesta al MUX (114) que especifica los tamaños de los datos para los servicios de TR que han de enviarse en una supertrama.
c.
El MUX (114) lleva a cabo una programación de contenido (asignaciones) en base a todos los tamaños de datos recibidos del SMTR (126), así como de otros orígenes.
d.
El MUX (114) envía los tamaños actualizados para los datos de los flujos de los servicios de TR al SMTR (126) como parte de un mensaje ActualizarTamanoDatos.Notificacion.
\vskip1.000000\baselineskip
En una realización, el MUX (114) actúa para proporcionar una función de programación del contenido que comprende realizaciones del algoritmo de asignación de intervalos descrito en lo que antecede. El controlador (116) de redimensionamiento proporciona realizaciones de un algoritmo de redimensionamiento. El algoritmo de asignación de intervalos es responsable de ajustar los intervalos (tasa) asignados a todos los servicios de medios en una supertrama. Ciertas limitaciones del sistema (por ejemplo, la tasa máxima de transferencia del turbodecodificador del dispositivo limita el número de intervalos que pueden asignarse a un servicio particular de medios en un solo símbolo de OFDM) pueden hacer que falle el procedimiento de asignación de intervalos a pesar de que el total de intervalos asignados sea menor o igual que el total de intervalos disponibles en una supertrama. Además, el componente del servicio de tiempo real que se espera que domine la demanda de recursos de enlaces aéreos es el contenido de vídeo. Este contenido se comprime usando codificación fuente, que da como resultado un flujo con una tasa de bits sumamente variable. Por último, la capacidad disponible por supertrama para la transmisión de servicios de tiempo real puede variar debido a los requisitos de otros servicios concurrentes de medios. Estos factores llevan a que se dé una de las siguientes condiciones de asignación.
1.
La suma de todos los datos solicitados por los servicios de TR es menor o igual que la capacidad disponible y el algoritmo de asignación de intervalos tiene éxito.
2.
La suma de todos los datos solicitados por los servicios de TR es menor o igual que la capacidad disponible pero el algoritmo de asignación de intervalos falla.
3.
La suma de todos los datos solicitados por los servicios de TR es mayor que la capacidad disponible.
Las condiciones de asignación 2 y 3 resultan en no asignar la cantidad de datos solicitados por los flujos del servicio de TR. En estos escenarios, el MUX (114) emplaza al controlador (116) de redimensionamiento para que lleve a cabo un algoritmo de redimensionamiento para que redimensione servicios de TR. La siguiente sección explica el concepto de calidad para los servicios de tiempo real y el objetivo de las realizaciones del algoritmo de redimensionamiento.
Calidad de un servicio de tiempo real y objetivo del algoritmo de redimensionamiento
El concepto de calidad está asociado con flujos de vídeo dentro de un servicio de medios continuos de tiempo real. La calidad (C) de un servicio de tiempo real es una función de la tasa (t) de bits asignada a los flujos del servicio y está modelada por una función de calidad expresada como:
(3)C = f (t)
En cada supertrama, el SMTR (126) proporciona información que contribuye a que el MUX (114) evalúe esta función. Esta es enviada al MUX (114) en el mensaje ObtenerTamanoDatos.Respuesta. Tal como se explica en las siguientes secciones, el MUX (114) usa esta información para el cálculo de la calidad del servicio de tiempo real, lo que facilita el procedimiento de redimensionamiento. Debería hacerse notar también que el MUX (114) puede usar cualquier medición o característica seleccionadas de la calidad con el objetivo del cálculo de la calidad.
El algoritmo de redimensionamiento asigna tasas (en unidades de paquetes de capa física (PCF)) a los servicios de tiempo real, de tal modo que la tasa total asignada sea menor o igual que la capacidad disponible para los servicios de TR para que tenga éxito el algoritmo de asignación de intervalos. Así, en una realización, la asignación de tasa para los servicios de TR debería ser tal que la función de calidad de los flujos de vídeo del servicio de TR sea proporcional a su peso, según lo siguiente:
(4)(C_{i}/C_{j}) = (P_{i}/P_{j})
en la que C_{i} (P_{i}) y C_{j} (P_{j}) son funciones de calidad (pesos de flujo) para cualquier servicio i, j de tiempo real. La función de calidad se calcula usando la ecuación (3) anterior. El valor del peso asociado con un flujo da una medida de la importancia relativa de ese flujo entre los otros flujos de vídeo de TR. En una realización, el MUX (114) obtiene estos valores de peso del flujo en un subsistema de abono y aprovisionamiento, que puede ser también responsable de las funciones de planificación y gestión de los servicios asociados con una red de distribución.
Algoritmo de redimensionamiento
Esta sección explica realizaciones del algoritmo de redimensionamiento de servicios de TR. El algoritmo usa un enfoque iterativo para converger en una asignación de tasas para las corrientes (flujos) de componentes de vídeo en los servicios de TR. El algoritmo empieza con el número de PCF (tasa) solicitado por cada flujo de vídeo. Cada una de las iteraciones del algoritmo conlleva identificar un servicio candidato para la reducción de la tasa. El flujo candidato es aquel que sea menos sensible a la reducción de la tasa y no sufra una reducción desfavorable en calidad en comparación con otros flujos. En una realización, las funciones del algoritmo de redimensionamiento son proporcionadas por el controlador (212) de redimensionamiento mostrado en la Fig. 2.
Una vez que se identifica el flujo candidato, se reduce la tasa asignada a ese flujo. Por ejemplo, la tasa puede reducirse en una cantidad correspondiente a dos bloques de código Reed-Solomon. La red asigna tasas a todos los servicios con una granularidad definida por el número de PCF correspondiente a un bloque Reed-Solomon. Se supone que los flujos de vídeo se transmiten usando uno de los modos de transmisión por capas de la red con componentes base y de mejora de vídeo. Además, el sistema limita los datos en los dos componentes de vídeo para que sean iguales. De ahí la elección de dos bloques Reed-Solomon como unidad de reducción de tasa. Sin embargo, debería hacerse notar que reducir la tasa de un flujo en cualquier otra cantidad seleccionada está dentro del ámbito de las realizaciones.
Constantes
Se usan los siguientes parámetros de constantes en las realizaciones de un sistema de multiplexación para proporcionar una función de redimensionamiento.
limiteReduccionTasa
El límite superior de la reducción fraccional en la tasa para cualquier flujo de vídeo de tiempo real. El límite es en referencia a las tasas solicitadas por los flujos. En una realización se usa un valor de 0,5.
minSis
Un valor mínimo para la calidad del flujo. Se usa para evitar que los flujos que han alcanzado el límite de la reducción de tasa experimenten una reducción adicional en la tasa.
cargaPCF
La carga efectiva de un PCF, que es de aproximadamente 968 bits.
\newpage
Argumentos de entrada del algoritmo
Se usan los siguientes argumentos de entrada en las realizaciones de un sistema de multiplexación para proporcionar una función de redimensionamiento.
maxSimOFDMSTR
Capacidad en el número de símbolos OFDM por supertrama disponible para servicios de tiempo real.
numSTR
Número de servicios de tiempo real que comparten la capacidad disponible.
numFlujosV
El número total de flujos de componentes de vídeo en los servicios de tiempo real. Por ejemplo FlujoV es una lista de estructuras que describe cada flujo de componentes de vídeo de tiempo real.
_peso
Contiene el valor del peso relativo del flujo.
PCFSolicitados
Contiene el número de PCF por supertrama solicitados por el flujo. Es posible calcular el número bruto de bits solicitados como PCFSolicitados \times cargaPCF (968 bits).
parametroKCodigoRS
Parámetro K de un código Reed-Solomon (N, K).
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Variables
Se usan las siguientes variables en las realizaciones de un sistema de multiplexación para proporcionar una función de redimensionamiento.
PCFSol[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene el número de PCF solicitados por supertrama por parte de este flujo, tal como se indica con el miembro PCFSolicitados de la estructura FlujoV.
PCFAsign[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene el número de PCF por supertrama asignados a este flujo.
PCFTemp[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene el número de PCF por supertrama asignados al flujo del componente de vídeo. Esta es una variable temporal usada internamente por el algoritmo.
peso[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene el valor del peso relativo del flujo indicado por el miembro _peso de la estructura FlujoV.
calidadEf[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene la calidad estimada del flujo del servicio de tiempo real.
PCFPorBlqRS[numFlujosV]
Matriz indexada por un número (0 a numFlujos-1) que identifica el flujo del componente de vídeo. La matriz contiene el número de PCF de datos por bloque de código Reed-Solomon, según se indica con el miembro parametroKCodigoRS de la estructura FlujoV.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Argumentos de salida del algoritmo
Se usan los siguientes argumentos de salida en las realizaciones de un sistema de multiplexación para proporcionar una función de redimensionamiento.
banderinExito
Un banderín puesto a 1 si el algoritmo de redimensionamiento tiene éxito en converger a una asignación de tasas que satisfaga las limitaciones. Si no, el banderinExito se pone a 0.
\vskip1.000000\baselineskip
Procedimientos internos llamados por el algoritmo de redimensionamiento
El siguiente es un procedimiento interno llamado por el algoritmo de redimensionamiento en las realizaciones de un sistema de multiplexación.
reducirPCF()
Un procedimiento que identifica un flujo de vídeo para su reducción de tasa y que reduce la cantidad de datos asignados a cada flujo. Este procedimiento comparte el espacio de variables definido para la rutina principal.
\vskip1.000000\baselineskip
Algoritmo externo llamado por el algoritmo de recodificación
El siguiente es un procedimiento externo llamado por el algoritmo de redimensionamiento de un sistema de multiplexación.
asignacionIntervalos
El algoritmo de asignación de intervalos es responsable de ajustar los intervalos (tasa) asignados a todos los servicios de medios en una supertrama. El algoritmo de redimensionamiento llama al algoritmo de asignación de intervalos con los argumentos de entrada, incluyendo los datos asignados (tasa) para todos los servicios de medios.
\vskip1.000000\baselineskip
Algoritmo
Lo que sigue es una descripción de una realización de un algoritmo de redimensionamiento para su uso en las realizaciones de un sistema de multiplexación. En una realización, el controlador (212) de redimensionamiento implementa el algoritmo de redimensionamiento y lleva a cabo una o más de las siguientes funciones.
a.
Usando datos de la estructura FlujoV, poblar las matrices PCFSol[], indiceCalidad[], PCFPorBlqRS[] y peso[].
b.
Inicializar todos los elementos de la matriz PCFAsign[] a los elementos correspondientes de PCFSol[].
c.
Inicializar un banderinAlgoritmo = 1 y un banderinExito = 0.
d.
Llevar a cabo las siguientes funciones:
1
\newpage
Las funciones siguientes se llevan a cabo como parte del procedimiento reducirPCF().
3
e.
Identificar el índice del servicio con la máxima calidad efectiva según se da en la matriz calidadEf[]. Ajustar el parámetro _indice a ese valor.
f.
Llevar a cabo las siguientes funciones.
4
Así, el controlador (212) de redimensionamiento actúa para proporcionar las anteriores funciones para redimensionar servicios en realizaciones de un sistema de multiplexación. Por ejemplo, la tasa de un servicio de TR se reduce para permitir que el servicio sea asignado a los intervalos disponibles de una supertrama tal como son proporcionados por las realizaciones del algoritmo de asignación descrito en lo que antecede.
Servicios distintos del tiempo real (SDTR)
En lo que antecede se describen realizaciones del algoritmo de asignación de intervalos que tienen en cuenta diversas limitaciones y que garantizan que el número de turbopaquetes enviados para un servicio de un símbolo de OFDM sea decodificable por un dispositivo. Este algoritmo es preferible para servicios de TR, dado que se requiere que el dispositivo reciba únicamente un servicio de TR en un momento dado. Sin embargo, un dispositivo podría recibir múltiples servicios DTR en una supertrama. Si se usa el mismo algoritmo, el número total de paquetes para todos los servicios DTR a los que está abonado el dispositivo en un símbolo OFDM puede llegar a ser mayor que el límite del dispositivo. Esto se denomina "conflicto de turbopaquetes". Un conflicto de turbopaquetes lleva a la pérdida de datos de los servicios DTR. La magnitud de la pérdida depende generalmente del patrón de abono del usuario. Así, más abajo se proporcionan y se describen realizaciones adicionales de los algoritmos de asignación de intervalos para los servicios DTR que eliminan por completo los conflictos de turbopaquetes.
La Fig. 17 muestra una realización de una trama (1700) que está dividida en zonas para servicios de TR y servicios DTR para su uso en un sistema de multiplexación. Se proporciona una primera zona (1702) para los servicios de TR, y una se proporciona una segunda zona (1704) para los servicios DTR. Particionar la trama en estas zonas garantizará que no haya conflicto de turbopaquetes entre los servicios de TR y DTR. La partición entre las zonas (1702) de TR y (1704) de DTR es una partición "blanda" (es decir, varía de supertrama a supertrama, dependiendo de los datos de los servicios de TR y DTR en esa supertrama). Los servicios de TR son asignados a intervalos en la zona (1702) de los servicios de TR usando realizaciones del algoritmo de asignación de intervalos y del algoritmo de redimensionamientos descritos con anterioridad. Los servicios DTR son asignados a intervalos en la zona (1704) de los servicios DTR usando realizaciones de un algoritmo de servicios DTR descrito más abajo. En una o más realizaciones, los servicios DTR también son redimensionados para que quepan en el ancho de banda disponible. Más abajo se proporciona una descripción más detallada del redimensionamiento aplicado a los servicios DTR.
Asignación de intervalos a los servicios DTR
Con respecto al consumo de energía del dispositivo receptor, es preferible que la altura de una asignación de CLM esté en su maxAlturaIntervalo. Esto minimiza el posible tiempo que pase encendido el dispositivo para recibir ese CLM. Sin embargo, para facilitar el empaquetado, a todos los CLM agrupados de un servicio se les asigna la misma altura. Así, incluso para los servicios DTR, se define el concepto de "maxAlturaIntervalo de un servicio" como el mínimo o el menor de los parámetros de maxAlturaIntervalo de todos los CLM agrupados para ese servicio. En lo que resta de esta descripción, la altura de un servicio significará la altura común de todas las asignaciones de los CLM de ese servicio.
Los canales de un servicio son agrupados entre sí
En una realización, todos los canales de un servicio son agrupados entre sí para que sus asignaciones sean adyacentes temporalmente en la trama. Este enfoque reduce el número de veces que un dispositivo precisa "despertarse" para recibir diferentes canales de un servicio, y, por ello, esto contribuye a que el dispositivo reduzca el consumo de energía.
La zona de SDTR es dividida en bloques
La Fig. 18 muestra una realización de una trama (1800) en la que una zona de SDTR se divide en bloques de diferentes alturas. En una realización, las alturas de los bloques se corresponden con los posibles valores de maxAlturaIntervalo que puede adoptar un servicio. Con la Tabla (500) puede verse que hay cuatro valores de maxAlturaIntervalo (es decir, 3, 4, 6 y 7). Así la trama (1800) muestra zonas tresBlq (1802), cuatroBlq (1804), seisBlq (1806) y sieteBlq (1808) que se usan para asignar servicios asociados. A continuación, el algoritmo de asignación de intervalos para los servicios DTR actúa para empaquetar servicios en bloques diferentes en base a la maxAlturaIntervalo.
Ningún bloque está por encima de los demás
En una realización, los bloques se disponen en la trama (1800) de tal modo que ningún bloque está por encima de los demás. Esto garantiza que no haya dos servicios DTR que tengan conflictos de turbopaquetes.
Algoritmo de intervalos del servicio DTR
En una o más realizaciones, los siguientes parámetros representan argumentos de entrada a la realización del algoritmo de asignación de intervalos para los servicios DTR.
a.
El número de intervalos de datos que cada CLM de un servicio tiene para una trama.
b.
La maxAlturaIntervalo de cada CLM de un servicio, que está determinada por el modo de transmisión de ese CLM.
c.
El número total de símbolos disponibles (numDispSimDTRPorTrm) para el servicio DTR.
\vskip1.000000\baselineskip
En una o más realizaciones, los siguientes parámetros representan argumentos de salida del algoritmo de asignación de intervalos para servicios DTR.
a.
Una decisión sobre si es posible el empaquetado.
b.
Si el empaquetado tiene éxito, el número de símbolos ocupados (numSimDTROcuPorTrm) por el servicio DTR.
\vskip1.000000\baselineskip
La Fig. 19 muestra una realización de un procedimiento (1900) para asignar intervalos a servicios DTR para su uso en un sistema de multiplexación. En una realización, la lógica (210) del MUX actúa para proporcionar las funciones del procedimiento (1900) según se describe a continuación.
En el bloque (1902) se lleva a cabo un cálculo de la maxAlturaIntervalo de cada servicio DTR. En una realización este cálculo lo lleva a cabo la lógica (210) del MUX.
En el bloque (1904), los servicios DTR son agrupados en bloques en base a los parámetros de maxAlturaIntervalo para cada servicio. Por ejemplo, en una realización, los servicios se agrupan en srvcsTresBlq, srvcsCuatroBlq, srvcsSeisBlq y srvcsSieteBlq. En una realización, la lógica (210) del MUX lleva a cabo esta operación.
En el bloque (1906) se calculan las variables de longitud L7, L6, L4 y L3. Por ejemplo, L7 = ceil(intervalos totales de todos los srvcsSieteBlq/7), en la que ceil(x) es el menor entero mayor que x. En una realización, la lógica (210) del MUX lleva a cabo esta operación.
En el bloque (1908) se lleva a cabo una comprobación para determinar si el número de símbolos requeridos es mayor que el número de símbolos disponibles. Por ejemplo, se evalúa la siguiente desigualdad:
(L7 + L6 + L4 + L3 < = numDispSimbolosDTRPorTrm)
En una realización, la lógica (210) del MUX lleva a cabo esta operación. Si la anterior desigualdad es falsa, el procedimiento prosigue entonces al bloque (1910). Si la anterior desigualdad es verdadera, el procedimiento prosigue entonces al bloque (1912).
En el bloque (1910) se determina un error de empaquetado y el procedimiento termina en el bloque (1914).
En el bloque (1912), el empaquetado tiene éxito y se determina el número de símbolos ocupados a partir de la siguiente ecuación:
numSimDTROcuPorTrm = L7 + L6 + L4 + L3
En una realización, la lógica (210) del MUX lleva a cabo esta operación. Una vez que el empaquetado tiene éxito, es fácil llegar a la ubicación de cada asignación de CLM, dado que se conoce el bloque al que pertenece cada ser-
vicio.
Debería hacerse notar que el procedimiento (1900) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (1900) dentro del ámbito de las realizaciones.
Interacciones entre los algoritmos de asignación de intervalos y de redimensionamiento
En las secciones anteriores se describen realizaciones de los algoritmos de asignación de intervalos y de redimensionamiento. Las secciones siguientes proporcionan una descripción de la interacción global de estos algoritmos para su uso en realizaciones de un sistema de multiplexación.
La Fig. 20 muestra una realización de un procedimiento (2000) para proporcionar asignación de intervalos, redimensionamiento y control de la congestión para su uso en un sistema de multiplexación. Por ejemplo, el servidor (200) actúa para proporcionar las funciones descritas más abajo.
En el bloque (2002) se asignan intervalos a servicios DTR de prioridad elevada y media. Por ejemplo, en cada supertrama el MUX (114) obtiene la cantidad de diversos datos de flujos y sus prioridades relativas de las entidades de contenidos, tales como el SMTR (126) y el SMTNR (128), usando la instrucción ObtenerTamanoDatos.Respuesta. Usando esta información, se lleva a cabo la asignación de intervalos para los servicios DTR de prioridad elevada y prioridad media. Por ejemplo, en una realización, la lógica (210) del MUX actúa para llevar a cabo la asignación de intervalos de servicios DTR de prioridad elevada y media conforma a los algoritmos anteriores.
En el bloque (2004) se lleva a cabo una comprobación para determinar si tuvo éxito la asignación de intervalos a los servicios DTR de prioridad elevada y media. Si la asignación tuvo éxito, el procedimiento prosigue al bloque (2006). Si la asignación no tuvo éxito, el procedimiento prosigue al bloque (2018).
En el bloque (2018) se lleva a cabo un control de la congestión. Dado que la asignación de intervalos a los servicios DTR de prioridad elevada y media no tuvo éxito, el sistema experimenta una congestión que es preciso abordar. En una realización, la lógica (210) del MUX lleva a cabo un algoritmo de control de la congestión que es descrito con referencia a la Fig. 22. Tras volver del control de la congestión, el procedimiento se detiene en el bloque (2028).
\newpage
En el bloque (2006) se calcula el número de símbolos disponibles para los servicios de TR en base al éxito de la asignación de intervalos a los servicios DTR y un parámetro de iteración se pone a cero. Por ejemplo, en una realización, la lógica (210) del MUX lleva a cabo estas funciones.
En el bloque (2008) se lleva a cabo la asignación de intervalos del servicio de TR con los símbolos restantes de la trama. Por ejemplo, se usan las realizaciones del algoritmo de asignación de intervalos descritos anteriormente para asignar intervalos a los servicios de TR.
En el bloque (2010) se lleva a cabo una comprobación para determinar si los servicios de TR fueron asignados con éxito. Si la asignación no tuvo éxito, el procedimiento prosigue al bloque (2014). Si la asignación tuvo éxito, el procedimiento prosigue al bloque (2012).
En el bloque (2012), disminuye el número de símbolos disponibles y aumenta el parámetro de iteración. Por ejemplo, en una realización, la lógica (210) del MUX lleva a cabo estas funciones. El procedimiento prosigue entonces al bloque (2008) para asignar intervalos a los servicios de TR.
En el bloque (2014) se lleva a cabo una comprobación para determinar si el parámetro de iteración es mayor que cero. Por ejemplo, en una realización, la lógica (210) del MUX lleva a cabo estas funciones. Si el parámetro de iteración es mayor que cero, el procedimiento prosigue al bloque (2016). Si el parámetro de iteración no es mayor que cero, el procedimiento prosigue al bloque (2020).
En el bloque (2016) se lleva a cabo la asignación de intervalos a los servicios de TR usando numSimbolosSTR más uno. Por ejemplo, la lógica (210) del MUX lleva a cabo la asignación de intervalos para los servicios de TR usando el valor incrementado de numSimbolosSTR. El procedimiento prosigue entonces al bloque (2024).
En el bloque (2020) se redimensionan los servicios seleccionados de TR. En una realización, se usa un algoritmo de redimensionamiento para redimensionar la tasa de uno o más flujos para que pueda tener éxito una asignación de intervalos a los servicios de TR. Por ejemplo, el controlador (212) de redimensionamiento actúa para llevar a cabo un algoritmo de redimensionamiento descrito con referencia a la Fig. 22. Tras volver del algoritmo de redimensionamiento, el procedimiento prosigue al bloque (2022).
En el bloque (2022) se lleva a cabo una comprobación para determinar si tuvo éxito el redimensionamiento de los servicios de TR. Por ejemplo, puede haber una situación en la que el algoritmo de redimensionamiento no consiga lograr una asignación de intervalos con un límite inferior de calidad de vídeo o con un límite inferior en las proporciones de redimensionamiento aceptables. Si el redimensionamiento tuvo éxito, el procedimiento prosigue al bloque (2024). Si el redimensionamiento no tuvo éxito, esta situación significa que el sistema está congestionado y, por ello, el procedimiento prosigue al bloque (2018) para llevar a cabo el control de la congestión.
En el bloque (2024), los servicios DTR de baja prioridad son asignados a intervalos en orden decreciente de rango. Por ejemplo, la lógica (210) del MUX lleva a cabo esta función.
En el bloque (2026), el servicio DTR o los datos de mejor esfuerzo son asignados a intervalos. Por ejemplo, la lógica (210) del MUX lleva a cabo esta función. El procedimiento (2000) termina entonces en el bloque (2028).
Por lo tanto, a la terminación del procedimiento (2000), el MUX (114) tiene la información en cuanto a los tamaños exactos de los datos de diversos flujos a los que puede enviarse una supertrama. Esta información vuelve a comunicarse al SMTR (126) y al SMTNR (128) usando el mensaje ActualizarTamanoDatos.Notificacion.
Debería hacerse notar que el procedimiento (2000) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (2000) dentro del ámbito de las realizaciones.
La Fig. 21 muestra una realización de un procedimiento (2100) para proporcionar redimensionamiento para su uso en un sistema de multiplexación. Por ejemplo, el procedimiento (2100) es adecuado para su uso como bloque (2020) en la Fig. 20. En una realización, el controlador (212) de redimensionamiento actúa para proporcionar las funciones descritas a continuación.
En el bloque (2102), se evalúa el número de intervalos solicitados y se calcula un parámetro n. En una realización, n representa una proporción entre el número de intervalos solicitados para un servicio y el número de intervalos disponibles. Por ejemplo, el controlador (212) de redimensionamiento lleva a cabo este cálculo.
En el bloque (2104), se evalúa la calidad de los flujos que deben ser redimensionados. Por ejemplo, tras reducir los CLM para cada flujo en n bloques de código, se realiza una evaluación de la calidad. Por ejemplo, la calidad (C) de un servicio es función de la tasa (t) de bits asignada a los flujos del servicio y está modelada por la función de calidad expresada más arriba. Por ejemplo, el controlador (212) de redimensionamiento lleva a cabo esta determinación de la calidad.
\newpage
En el bloque (2106), se determina el flujo (candidato) con la máxima calidad resultante. Por ejemplo, el controlador (212) de redimensionamiento determina el flujo con la calidad máxima que resultaría tras llevar a cabo la reducción de bloques de código en el bloque (2104).
En el bloque (2108), se lleva a cabo una comprobación para determinar si la calidad máxima es superior a un requisito de calidad mínima del sistema. Por ejemplo, el controlador (212) de redimensionamiento determina el resultado de esta comprobación. Si la calidad máxima no es mayor que el requisito de calidad mínima del sistema, el procedimiento prosigue al bloque (2116). Si la calidad máxima es mayor que el requisito de calidad mínima del sistema, el procedimiento prosigue al bloque (2110).
En el bloque (2110), se redimensiona el flujo que tiene la máxima calidad y se lleva a cabo la asignación de intervalos. Por ejemplo, el flujo que tiene la máxima calidad es reducido en n bloques de código y se efectúa la asignación de intervalos. Por ejemplo, el controlador (212) de redimensionamiento redimensiona el flujo y solicita que la lógica (210) del MUX lleve a cabo la asignación de intervalos.
En el bloque (2112), se lleva a cabo una comprobación para determinar si la asignación de intervalos tuvo éxito. Por ejemplo, el controlador (212) de redimensionamiento recibe un indicador procedente de la lógica (210) del MUX que indica si tuvo éxito la asignación de intervalos llevada a cabo en el bloque (2110). Si la asignación de intervalos tuvo éxito, el procedimiento prosigue al bloque (2114). Si la asignación de intervalos no tuvo éxito, el procedimiento prosigue al bloque (2102).
En el bloque (2114), se determina que el redimensionamiento tuvo éxito, y en el bloque (2116), se determina que el redimensionamiento falló. Por ejemplo, el controlador (212) de redimensionamiento efectúa estas determinaciones. A continuación, el procedimiento prosigue al bloque (2118), en el que procedimiento vuelve al bloque (2020) de la Fig. 20.
Por lo tanto, el procedimiento (2100) actúa para proporcionar un redimensionamiento para su uso en un sistema de multiplexación. Debería hacerse notar que el procedimiento (2100) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (2100) dentro del ámbito de las realizaciones.
La Fig. 22 muestra una realización de un procedimiento (2200) para proporcionar un control de la congestión para su uso en un sistema de multiplexación. Por ejemplo, el procedimiento (2200) es adecuado para su uso como bloque (2018) en la Fig. 20. En una realización, el MUX (210) actúa para proporcionar las funciones descritas a continuación.
En el bloque (2202), se asignan a intervalos los servicios DTR de prioridad elevada. Por ejemplo, el MUX (210) lleva a cabo esta asignación según realizaciones de un algoritmo de redimensionamiento descrito en el presente documento.
En el bloque (2204), se lleva a cabo una comprobación para determinar si la asignación llevada a cabo en el bloque (2202) tuvo éxito. Por ejemplo, el MUX (210) lleva a cabo esta función. Si la asignación tuvo éxito, el procedimiento prosigue al bloque (2208). Si la asignación no tuvo éxito, el procedimiento prosigue al bloque (2206).
En el bloque (2206), se asignan los servicios DTR de prioridad elevada por orden creciente de rango. Por ejemplo, el MUX (210) lleva a cabo esta asignación según realizaciones de un algoritmo de asignación descrito en el presente documento. El procedimiento (2200) termina entonces en (2218).
En el bloque (2208), todos los posibles flujos de servicios de TR son reducidos en una cantidad seleccionada y se lleva a cabo la asignación de estos flujos a intervalos. Por ejemplo, el controlador (212) de redimensionamiento y el MUX (210) llevan a cabo estas operaciones según realizaciones descritas en el presente documento. La cantidad seleccionada se basa en el parámetro de reducción de tasa, conocido al sistema.
En el bloque (2210), se lleva a cabo una comprobación para determinar si tuvo éxito la asignación de intervalos a los servicios de TR en el bloque (2208). Por ejemplo, el MUX (210) lleva a cabo esta función. Si la asignación tuvo éxito, el procedimiento prosigue al bloque (2112). Si la asignación no tuvo éxito, el procedimiento prosigue al bloque (2114).
En el bloque (2212), se asignan intervalos a los servicios DTR de prioridad media por orden creciente de rango. Por ejemplo, el MUX (210) lleva a cabo esta asignación según las realizaciones de un algoritmo de asignación descrito en el presente documento. El procedimiento (2200) termina entonces en (2218).
En el bloque (2214), se lleva a cabo una asignación de intervalos a servicios de TR que excluye el siguiente servicio de rango inferior. Por ejemplo, el MUX (210) lleva a cabo esta asignación según las realizaciones de un algoritmo de asignación descrito en el presente documento.
En el bloque (2216), se lleva a cabo una comprobación para determinar si la asignación en el bloque (2214) tuvo éxito. Por ejemplo, el MUX (210) lleva a cabo esta función. Si la asignación tuvo éxito, el procedimiento prosigue al bloque (2212). Si la asignación no tuvo éxito, el procedimiento se retrotrae al bloque (2214) para excluir otro servicio y volver a intentar nuevamente la asignación de intervalos.
Por lo tanto, el procedimiento (2200) actúa para proporcionar un control de la congestión para su uso en un sistema de multiplexación. Debería hacerse notar que el procedimiento (2200) representa solamente una implementación y que son posibles cambios, adiciones, eliminaciones, combinaciones u otras combinaciones del procedimiento (2200) dentro del ámbito de las realizaciones.
La Fig. 23 muestra una realización de un sistema (2300) de multiplexación. El sistema (2300) de multiplexación comprende medios (2302) para la recepción de datos, medios (2304) para la determinación del ancho de banda, medios (2306) para la asignación de datos y medios (2308) para el redimensionamiento de los datos. En una realización, los medios (2302-2308) están proporcionados por al menos un procesador que ejecuta un programa informático para proporcionar una realización de un sistema de multiplexación tal como se describe en el presente documento.
Por lo tanto, pueden implementarse o llevarse a cabo lógicas ilustrativas, bloques lógicos, módulos y circuitos diversos descritos en conexión con las realizaciones dadas a conocer en el presente documento con un procesador de uso general, un procesador digital de señal (DSP), un circuito integrado para aplicaciones específicas (ASIC), una matriz de puertas lógicas programable (FPGA) u otro dispositivo lógico programable, lógica de puertas discretas o de transistor, componentes físicos discretos o cualquier combinación de los mismos diseñada para llevar a cabo las funciones descritas en el presente documento. Un procesador de uso general puede ser un microprocesador, pero, de manera alternativa, el procesador puede ser cualquier procesador controlador, microcontrolador o máquina de estado convencionales. Un procesador también puede estar implementado como una combinación de dispositivos de cómputo, por ejemplo una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en unión con un núcleo de DSP o cualquier otra configuración de ese tipo.
Las etapas de un procedimiento o de un algoritmo descritos en conexión con las realizaciones dadas a conocer en el presente documento pueden plasmarse directamente en componentes físicos, en un módulo de componentes lógicos ejecutado por un procesador o en una combinación de ambos. Un módulo de componentes lógicos puede residir en la memoria RAM, en memoria flash, en memoria ROM, en memoria EPROM, en memoria EEPROM, en registros, en un disco duro, en un disco extraíble, en un CD-ROM o en cualquier otra forma de un medio de almacenamiento conocido en la técnica. Un medio ejemplar de almacenamiento está unido al procesador, de modo que el procesador pueda leer información del medio de almacenamiento y escribir información al mismo. De forma alternativa, el medio de almacenamiento puede ser integral al procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un terminal de usuario. De manera alternativa, el procesador y el medio de almacenamiento pueden residir como componentes diferenciados en un terminal de usuario.
Se proporciona la descripción de las realizaciones dadas a conocer para permitir que cualquier persona experta en la técnica realice o use la presente invención. Diversas modificaciones de estas realizaciones pueden resultar muy evidentes a las personas expertas en la técnica, y los principios genéricos definidos en el presente documento pueden ser aplicados a otras realizaciones, por ejemplo a un servicio de mensajería instantánea o a cualquier aplicación general de comunicaciones inalámbricas de datos, sin apartarse del espíritu o del ámbito de la presente invención. Así, no se contempla que la presente invención esté limitada a las realizaciones mostradas en el presente documento, sino que se le ha de conceder el alcance más amplio coherente con los principios y las características novedosas dadas a conocer en el presente documento. La palabra "ejemplar" se usa en este documento exclusivamente de modo que signifique "que sirve de ejemplo, caso o ilustración". No debe interpretarse que cualquier realización descrita en el presente documento como "ejemplar" sea necesariamente preferida a otras realizaciones ni ventajosa con respecto a las mismas.
En consecuencia, aunque en el presente documento se han ilustrado y se han descrito realizaciones de un sistema de multiplexación, se apreciará que pueden realizarse diversos cambios a las realizaciones. Por lo tanto, se contempla que las revelaciones y las descripciones del presente documento sean ilustrativas, pero no limitantes, del alcance de la invención, que se expone en las reivindicaciones siguientes.

Claims (11)

1. Un procedimiento para la transmisión de servicios en una red (100) que utiliza multiplexación por división de frecuencias ortogonales, OFDM, en el que cada trama de transmisión comprende intervalos de datos, comprendiendo cada intervalo de datos un conjunto de símbolos de datos que se suceden en una duración de símbolos de la OFDM, comprendiendo el procedimiento:
recibir uno o más servicios que tienen requisitos de entrega asociados;
determinar si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega; y, si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega:
asignar el ancho de banda disponible a uno o más servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda en la red,
caracterizado por:
determinar (704) los parámetros de altura asociados con uno o más servicios en base a los requisitos de entrega, en el que el parámetro de altura está asociado con intervalos;
agrupar (706) el o los servicios en uno o más grupos en base a los parámetros de altura;
determinar (710) parámetros de longitud para uno o más grupos, en los que el parámetro de longitud está asociado con los símbolos de la OFDM; y
asignar (714) el ancho de banda disponible a uno o más grupos en base a los parámetros de longitud.
\vskip1.000000\baselineskip
2. El procedimiento de la reivindicación 1 en el que dicha recepción comprende recibir el o los servicios que tienen los requisitos de entrega asociados, en el que los requisitos de entrega asociados comprenden un requisito o más de ancho de banda, latencia y prioridad.
3. El procedimiento de la reivindicación 1 que comprende además, si se determina que el ancho de banda disponible no es capaz de satisfacer los requisitos de entrega:
redimensionar al menos uno del servicio o servicios para producir requisitos de entrega ajustados, en el que dicho redimensionamiento comprende reducir los requisitos de ancho de banda de los al menos uno o más servicios; y
asignar el ancho de banda disponible en la red a uno o más servicios en base a los requisitos de entrega ajustados.
\vskip1.000000\baselineskip
4. El procedimiento de la reivindicación 1 en el que dicha asignación comprende:
dividir el ancho de banda disponible en la red en porciones primera (1702) y segunda (1704); y
asignar las porciones primera y segunda a uno o más servicios, en el que la primera porción es asignada a servicios de tiempo real y la segunda porción es asignada a servicios distintos de tiempo real.
\vskip1.000000\baselineskip
5. El procedimiento de la reivindicación 1 que comprende además la transmisión del o de los servicios por una red de OFDM usando las asignaciones de ancho de banda de la red.
6. Un aparato para la transmisión de servicios en una red que utiliza multiplexación por división de frecuencias ortogonales, OFDM, en el que cada trama de transmisión comprende intervalos de datos, comprendiendo cada intervalo de datos un conjunto de símbolos de datos que se suceden en una duración de símbolos de la OFDM, comprendiendo el aparato:
medios (2302) para recibir uno o más servicios que tienen requisitos de entrega asociados;
medios (2304) para determinar si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega; y
un medio (2306) para asignar el ancho de banda disponible a uno o más servicios en base a los requisitos de entrega para producir asignaciones de ancho de banda en la red, si el ancho de banda disponible de la red es capaz de satisfacer los requisitos de entrega; caracterizado porque dicho medio para la asignación comprende:
medios para determinar los parámetros de altura asociados con uno o más servicios en base a los requisitos de entrega ajustados, en los que el parámetro de altura está asociado con intervalos;
medios para agrupar el o los servicios en uno o más grupos en base a los parámetros de altura;
medios para determinar parámetros de longitud para uno o más grupos, en los que el parámetro de longitud está asociado con los símbolos de la OFDM; y
un medio para asignar el ancho de banda disponible a uno o más grupos en base a los parámetros de longitud.
\vskip1.000000\baselineskip
7. El aparato de la reivindicación 6 en el que dicho medio para la recepción comprende medios para recibir uno o más servicios que tienen requisitos de entrega asociados en el que los requisitos de entrega asociados comprenden un requisito o más de ancho de banda, latencia y prioridad.
8. El aparato de la reivindicación 6 que comprende además:
un medio para redimensionar al menos uno del servicio o servicios para producir requisitos de entrega ajustados, si se determina que el ancho de banda disponible en la red no es capaz de satisfacer los requisitos de entrega, en el que dicho medio de redimensionamiento comprende medios para reducir los requisitos de ancho de banda de los al menos uno o más servicios; y
en el que el medio para asignar el ancho de banda disponible en la red a uno o más servicios asigna en base a los requisitos de entrega ajustados.
9. El aparato de la reivindicación 6 en el que dicho medio para la asignación comprende:
medios para dividir el ancho de banda disponible en la red en porciones primera y segunda; y
medios para asignar las porciones primera y segunda a uno o más servicios, en el que la primera porción es asignada a servicios de tiempo real y la segunda porción es asignada a servicios distintos de tiempo real.
\vskip1.000000\baselineskip
10. El aparato de la reivindicación 6 que comprende además medios para la transmisión del o de los servicios en una red de OFDM usando las asignaciones de ancho de banda de la red.
11. Un medio legible en ordenador que comprende un código para hacer que un ordenador lleve a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 5.
ES06758324T 2005-04-08 2006-04-10 Procedimientos y aparato para la entrega mejorada de contenidos en una red de datos. Expired - Lifetime ES2343541T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66940605P 2005-04-08 2005-04-08
US669406P 2005-04-08
US72000005P 2005-09-23 2005-09-23
US720000P 2005-09-23

Publications (1)

Publication Number Publication Date
ES2343541T3 true ES2343541T3 (es) 2010-08-03

Family

ID=36955252

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06758324T Expired - Lifetime ES2343541T3 (es) 2005-04-08 2006-04-10 Procedimientos y aparato para la entrega mejorada de contenidos en una red de datos.

Country Status (10)

Country Link
US (1) US7653085B2 (es)
EP (2) EP2202924B1 (es)
JP (1) JP4995808B2 (es)
KR (1) KR100989777B1 (es)
CN (1) CN101189842B (es)
AT (1) ATE466437T1 (es)
DE (1) DE602006013959D1 (es)
ES (1) ES2343541T3 (es)
TW (1) TWI323587B (es)
WO (1) WO2006110876A2 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653085B2 (en) 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
US7889685B2 (en) * 2006-12-22 2011-02-15 Intel Corporation System and method for platform resilient VoIP processing
US20080212599A1 (en) * 2007-03-01 2008-09-04 Qualcomm Incorporated Methods and systems for encoding data in a communication network
WO2010052679A1 (en) * 2008-11-10 2010-05-14 Nxp B.V. Resource controlling
KR101193160B1 (ko) 2008-11-27 2012-10-19 한국전자통신연구원 상위등급 서비스의 요청 수락률 보장을 위한 네트워크 자원제어 방법 및 이를 위한 장치
CN102428450A (zh) 2009-03-11 2012-04-25 新诺普系统公司 用于资源控制的系统和方法
RU2483473C1 (ru) * 2009-04-29 2013-05-27 Алькатель Люсент Способ, вм-sc и базовая станция для мультиплексирования услуг mbms в mbsfn
JP5440052B2 (ja) 2009-09-11 2014-03-12 ソニー株式会社 中継局装置、基地局装置、移動局装置および無線通信システム
JP5413073B2 (ja) 2009-09-11 2014-02-12 ソニー株式会社 移動局装置、基地局装置および無線通信システム
US8661484B1 (en) * 2012-08-16 2014-02-25 King Saud University Dynamic probability-based admission control scheme for distributed video on demand system
WO2014038792A1 (ko) * 2012-09-05 2014-03-13 에스케이플래닛 주식회사 컨텐츠 제공 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치
US8606938B1 (en) * 2012-09-27 2013-12-10 Ringcentral, Inc. High availability for cloud-based services
US9264932B2 (en) * 2014-05-16 2016-02-16 Verizon Patent And Licensing Inc. Application-specific traffic multiplexing

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2995177B1 (ja) * 1998-07-10 1999-12-27 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム配信システム
US6493331B1 (en) * 2000-03-30 2002-12-10 Qualcomm Incorporated Method and apparatus for controlling transmissions of a communications systems
US7095754B2 (en) * 2000-11-03 2006-08-22 At&T Corp. Tiered contention multiple access (TCMA): a method for priority-based shared channel access
JP2002247091A (ja) * 2001-02-19 2002-08-30 Ntt Communications Kk コンテンツ配信サーバ、方法およびシステム
US7042897B1 (en) 2001-04-05 2006-05-09 Arcwave, Inc Medium access control layer protocol in a distributed environment
US7042856B2 (en) * 2001-05-03 2006-05-09 Qualcomm, Incorporation Method and apparatus for controlling uplink transmissions of a wireless communication system
US7180905B2 (en) * 2001-11-02 2007-02-20 At & T Corp. Access method for periodic contention-free sessions
US7245605B2 (en) * 2001-11-02 2007-07-17 At&T Corp. Preemptive packet for maintaining contiguity in cyclic prioritized multiple access (CPMA) contention-free sessions
US7280517B2 (en) * 2001-11-02 2007-10-09 At&T Corp. Wireless LANs and neighborhood capture
US7277415B2 (en) * 2001-11-02 2007-10-02 At&T Corp. Staggered startup for cyclic prioritized multiple access (CPMA) contention-free sessions
US7248600B2 (en) * 2001-11-02 2007-07-24 At&T Corp. ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
JP3590376B2 (ja) * 2001-11-30 2004-11-17 株式会社東芝 Ipストリーミングシステム、ポリシーサーバ及びipストリーミング配信方法
WO2004023743A2 (en) 2002-09-06 2004-03-18 Matsushita Electric Industrial Co., Ltd. Methods for performing medium dedication in order to ensure the quality of service for delivering real-time data across wireless network
JP2004266795A (ja) * 2002-09-06 2004-09-24 Matsushita Electric Ind Co Ltd ワイヤレスネットワークを通じてリアルタイムデータを提供するサービスの品質を保証するために媒体確保を行う方法
JP3746038B2 (ja) * 2002-12-26 2006-02-15 日本無線株式会社 伝送帯域制御装置
JP4349816B2 (ja) * 2003-02-17 2009-10-21 株式会社リコー 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体
US6895410B2 (en) * 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
KR100651541B1 (ko) * 2003-07-30 2006-11-28 삼성전자주식회사 직교 주파수 분할 다중 접속 방식을 사용하는 이동 통신시스템에서 레인징 방법
MXPA06002230A (es) * 2003-08-27 2006-05-17 Interdigital Tech Corp Distribucion de bit y sub-portadora para servicios en tiempo real en sistemas de multiplexacion por division de frecuencia ortogonal (ofdm) multiusuario.
US7400642B2 (en) * 2003-08-29 2008-07-15 Samsung Electronics Co., Ltd Apparatus and method for controlling operational states of medium access control layer in a broadband wireless access communication system
KR20050029112A (ko) * 2003-09-20 2005-03-24 삼성전자주식회사 광대역 무선 접속 통신 시스템에서 서비스 품질별 업링크대역폭 요청 및 할당 방법
US7505397B2 (en) * 2004-06-16 2009-03-17 Samsung Electronics Co., Ltd Method for transmitting/receiving data in mobile communication systems using an OFDMA scheme
EP1867173A2 (en) 2005-03-10 2007-12-19 QUALCOMM Incorporated Content adaptive multimedia processing
US7653085B2 (en) 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
US20070201388A1 (en) 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8582905B2 (en) 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device

Also Published As

Publication number Publication date
TW200704042A (en) 2007-01-16
TWI323587B (en) 2010-04-11
EP2202924A1 (en) 2010-06-30
CN101189842B (zh) 2013-03-06
JP2008536409A (ja) 2008-09-04
US7653085B2 (en) 2010-01-26
KR20080006596A (ko) 2008-01-16
DE602006013959D1 (de) 2010-06-10
WO2006110876A2 (en) 2006-10-19
ATE466437T1 (de) 2010-05-15
EP1867114B1 (en) 2010-04-28
KR100989777B1 (ko) 2010-10-26
EP2202924B1 (en) 2013-01-09
US20060262748A1 (en) 2006-11-23
CN101189842A (zh) 2008-05-28
EP1867114A2 (en) 2007-12-19
JP4995808B2 (ja) 2012-08-08
WO2006110876A3 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
ES2281445T3 (es) Metodo y sistema para planificar en enlace ascendente el trafico de paquetes de datos en un sistema inalambrico.
JP6638813B2 (ja) ユーザ装置をページングする装置、方法及び通信システム
Al-Turjman Price-based data delivery framework for dynamic and pervasive IoT 1
CN109392169B (zh) 一种数据传输方法、终端及基站
BRPI0609286A2 (pt) utilização de atribuições suplementares
US10044632B2 (en) Systems and methods for adaptive credit-based flow
CN109413747B (zh) 传输资源分配方法、装置、传输资源请求方法及装置
KR100989777B1 (ko) 데이터 네트워크를 통한 컨텐츠의 향상된 전달 방법 및장치
WO2014094310A1 (zh) 资源调度的方法和装置
CN110351683A (zh) 参数传输方法及装置
CN110351849A (zh) 资源分配方法及装置、基站和终端
Ota et al. MMCD: Max-throughput and min-delay cooperative downloading for Drive-thru Internet systems
Wang et al. Adaptive-opportunistic aloha: A media access control protocol for unmanned aerial vehicle–wireless sensor network systems
CN107222840A (zh) 用于追踪目标地理位置的通信系统及方法
CN114980333B (zh) 资源分配结果的验证方法、装置、电子设备及存储介质
CN113993219B (zh) 基于时分多址的时隙分配方法、装置和计算机设备
CN101778433B (zh) 一种无线资源的调度方法和设备
JP2021533655A (ja) データスケジューリング方法及びデータ伝送方法、ネットワーク機器、端末並びにコンピュータ記憶媒体
CN103686874B (zh) 一种带宽分配方法
CN115834054A (zh) 一种多级密钥级数管理方法及装置
CN120052044A (zh) 用于上行链路缓冲区大小估计的动态bsr表格
CN118474907B (zh) 接入方法、装置、设备、可读存储介质和程序产品
US8085720B2 (en) Channel element packing and repacking
CN117500056A (zh) 消息上报方法、装置和终端
HK1114712A (en) Methods and apparatus for enhanced delivery of content over a data network