СИСТЕМА И СПОСОБ ДЛЯ ОПТИМИЗИРОВАННОГО МУЛЬТИПЛЕКСИРОВАНИЯ И ЭКОНОМИИ ЭНЕРГИИ В СЕТИ ВЕЩАНИЯ
SYSTEM AND METHOD FOR OPTIMISED MULTIPLEXING AND SAVING OF ENERGY IN BROADCASTING NETWORK

Область техники
[0001] Данное изобретение относится, в целом, к широковещательным/многоадресным услугам. Более конкретно, данное изобретение касается мультиплексирования широковещательных/многоадресных услуг.
Предпосылки создания изобретения
[0002] Этот раздел предназначен для представления предпосылок создания или контекста изобретения, которое изложено в формуле изобретения. При этом описание может включать концепции, которые могут осуществляться, но не обязательно те, которые были ранее задуманы или осуществлены. Поэтому, если здесь не указано иное, описанное в этом разделе не является известным уровнем техники для описания и формулы изобретения в этой заявке.
[0003] Проблема потребляемой мощности в карманных устройствах, таких как мобильные телефоны, стала еще более актуальной в последние годы и, как ожидается, продолжит быть проблемой в будущем. В частности, увеличенная потребляемая мощность в таких терминалах увеличивает температуру терминала. Во многих устройствах, однако, внутренняя температура уже достигла своего высшего предела. Кроме того, увеличенная потребляемая мощность сокращает время использования терминала, если емкость аккумуляторной батареи терминала соответственно не увеличивается. Однако в последние годы терминалы стали меньше и тоньше, и эта тенденция вероятно продолжится. Эта тенденция приводит к тому, что габариты батареи терминала должны уменьшаться, а в то же самое время потребляемая мощность увеличивается.
[0004] В ответ на вышеупомянутые ограничения множество различных механизмов было разработано для систем широковещательной и многоадресной передачи с целью уменьшения потребляемой мощности приемников широковещательных/многоадресных передач. В системах радиосвязи спектр радиочастот является ограниченным ресурсом и поэтому должен использоваться как можно более эффективно.
[0005] В широковещательных системах скорость передачи битов входного потока, приходящего в устройство, не является точно известной в данный момент. Вместо этого известно только статистическое поведение входного потока. Это может приводить к проблеме распределения пропускной способности, когда несколько входных потоков, имеющих неизвестные характеристики (например, неизвестные скорости передачи битов), мультиплексируются в один сигнал, который будет передаваться посредством системы широковещательной/многоадресной передачи. Был реализован ряд систем, принимающих во внимание вышесказанное. Эта проблема энергосбережения обычно решалась частично, например, посредством использования различных систем мультиплексирования с временным разделением каналов (time division multiplexing, TDM). В этих системах передатчик или приемник либо оба устройства могут отключать питание своих частей в соответствии с используемой конкретной схемой мультиплексирования TDM. Другим вариантом решения проблемы энергосбережения было использование частотного разделения. В схемах частотного разделения используемый частотный диапазон разделяется на меньшие поддиапазоны и передатчик или приемник используют только один или несколько из этих поддиапазонов, что приводит к меньшему потреблению энергии.
Сущность изобретения
[0006] Различные формы осуществления изобретения обеспечивают усовершенствованную систему для использования при широковещательной и многоадресной передаче, когда необходима система мультиплексирования с временным разделением каналов. В соответствии с различными формами осуществления изобретения структуры кадра и слота разрабатываются таким образом, чтобы адаптироваться на основании изменения скорости передачи битов входного потока, в то же время не идя на компромисс в отношении потребляемой мощности приемника.
[0007] Эти и другие преимущества и признаки изобретения вместе с его структурой и способом работы будут очевидны из нижеследующего описания с прилагаемыми чертежами, на которых одинаковые элементы имеют одинаковые ссылочные позиции.
Краткое описание чертежей
[0008] Фиг.1 является изображением, показывающим приводимую в качестве примера структуру и синтаксис типичного пакета протокола передачи потока данных (Data Stream Protocol, DSP).
[0009] Фиг.2 представляет собой схему, показывающую пример структуры и взаимосвязей между суперкадрами, кадрами, слотами и символами.
[0010] На фиг.3(а) показана обычная структура кадра/слота, в которой размеры слота и кадра фиксированы и имеется фиксированное число слотов в кадре.
На фиг.3(b) показана структура кадра/слота, в которой размер слота является переменным, размер кадра фиксирован, и имеется фиксированное число слотов в кадре.
На фиг.3(с) показана структура кадра/слота, в которой размер слота является переменным, размер кадра фиксирован, и число слотов в кадре является переменным.
На фиг.3(d) показана структуры кадра/слота, в которой размеры слота и кадра являются переменными, и число слотов в кадре является переменным.
[0011] Фиг.4 представляет собой схему, показывающую типичный поток передатчика согласно одной форме осуществления данного изобретения.
[0012] Фиг.5 представляет собой изображение, показывающее соотношения между символами, субслотами, слотами и кадрами согласно различным формам осуществления изобретения.
[0013] На фиг.6 показан процесс начальной буферизации в приемнике согласно одной из форм осуществления изобретения.
[0014] На фиг.7(а) и 7(b) представлены различные механизмы, с помощью которых может быть реализована сигнализация о начале слота, согласно различным формам осуществления изобретения.
[0015] На фиг.8 показано изображение электронного устройства, которое может использоваться при реализации различных форм осуществления изобретения.
[0016] На фиг.9 показано схематическое изображение схем, которые могут входить в состав электронного устройства фиг.8.
[0017] Фиг.10 представляет собой функциональную блок-схему, показывающую систему, способную реализовывать различные формы осуществления изобретения.
Подробное описание различных форм осуществления изобретения
[0018] Различные формы осуществления изобретения обеспечивают улучшенную систему для использования при широковещательной и многоадресной передаче, когда необходима система мультиплексирования с временным разделением. Согласно различным формам осуществления изобретения структуры кадра и слота разработаны таким образом, чтобы адаптироваться на основании изменения скорости передачи битов входного потока, в то же самое время, не идя на компромисс в отношении потребляемой мощности приемника. При успешной реализации терминал, реализующий различные формы осуществления изобретения, достигает улучшенного или оптимизированного использования пропускной способности и в то же самое время улучшенного или оптимизированного энергосбережения.
[0019] Различные формы осуществления изобретения могут использоваться в цифровом широкополосном вещании, например в сетях стандарта наземного цифрового видеовещания на носимые устройства (Digital Video Broadcast-Handheld, DVB-H), или в сетях DVB-H следующего поколения. Примеры других стандартов цифрового вещания, которые могут использовать различные формы осуществления данного изобретения, включают сети наземного цифрового телевидения (Digital Video Broadcast-Terrestrial, DVB-T), японского стандарта наземного цифрового вещания с интеграцией услуг (Integrated Services Digital Broadcasting - ISDB-T), американского цифрового стандарта телевизионного вещания (Digital Broadcast Standard), предложенного американским комитетом по улучшенным телевизионным системам (Advanced Television Systems Committee, ATSC), китайского стандарта наземного цифрового мультимедийного вещания (Digital Multimedia Broadcasting-Terrestrial, DMB-T), стандарта цифрового наземного мультимедиа-вещания (Terrestrial-Digital Multimedia Broadcasting, T-DMB), стандарта цифрового спутникового мультимедиа-вещания (Satellite Digital Multimedia Broadcasting, S-DMB), стандарта передачи данных только в одном направлении (Forward Link Only, FLO), стандарта цифрового звукового радиовещания (Digital Audio Broadcasting, DAB) и стандарта системы цифрового радио Mondiale DRM (Digital Radio Mondiale, DRM). Другие стандарты и технологии цифрового вещания, известные теперь или разработанные позже, также могут использоваться. Аспекты данного изобретения могут быть применимыми также к другим системам цифрового вещания с многими несущими, как, например, на основе технологии наземного цифрового звукового радиовещания (Terrestrial-Digital Audio Broadcasting, T-DAB), стандарта цифрового наземного/спутникового мультимедиа-вещания (T/S Digital Multimedia Broadcast - T/S DMB), японского стандарта наземного цифрового вещания с интеграцией услуг (Integrated Services Digital Broadcasting, ISDB-T) и американского стандарта цифрового телевидения (Advanced Television Systems Committee, ATSC), к проприетарным системам, таким как система на основе стандарта мобильного телевидения/передачи данных только в одном направлении (Media Forward Link Only/ Forward Link Only, MediaFLO/FLO), разработанного подразделением компании Qualcomm (США), и к нетрадиционным системам, таким как системы на основе формата передачи потокового видео непосредственно по сетям мобильной связи (Multimedia Broadcast/Multicast Service - MBMS), стандартизированного организацией "Проект сотрудничества по разработке сетей подвижной связи третьего поколения" (3rd Generation Partnership Project, 3GPP), и технология многоадресных и широковещательных услуг (Broadcast/Multicast Services, BCMCS), стандартизированная организацией "Второй проект сотрудничества по разработке сетей подвижной связи третьего поколения" (3rd Generation Partnership Project 2, 3GPP2).
[0020] На фиг.1 изображен приводимый в качестве примера пакет протокола передачи потока данных (DSP) вместе с соответствующим синтаксисом для частей пакета. Поле Synch byte (байт синхронизации) позволяет обнаруживать начала каждого пакета DSP в приемнике и сети. Поле Payload_type_id идентифицирует тип полезной нагрузки, инкапсулированной в полезную нагрузку (например, дескриптор обнаружения услуги (Service Discovery Descriptor, SDD), дескриптор обнаружения соседней услуги (Neighboring Service Discovery Descriptor, NSDD), данные по протоколу Интернет (Internet Protocol, IP) или код Рида-Соломона (Reed Solomon, RS)). Поле Logical_channel_id идентифицирует логический канал связанного с ним пакета. Поле Logical_channel_id необходимо в приемнике, чтобы обнаруживать пакеты, которые являются частью определенного логического канала (в случае, если есть пакеты более чем одного логического канала, доступные в одном слоте). Поле Physical_channel_id идентифицирует физический канал, в котором переносится связанный с ним пакет потока данных (DS). Это дает возможность элементу сети распределять пакеты DSP в правильные физические каналы.
[0021] Поле FEC_address используется для отображения пакетов DS, переносящих данные приложения, в соответствующие пакеты DS, переносящие данные RS, когда используется прямая коррекция ошибок (Forward Error Correction, FEC). Если коррекция FEC не используется, это поле может игнорироваться. Поле fragmentation_index (индекс фрагментации) является счетчиком для фрагментов полезной нагрузки, инкапсулированных в пакеты DSP. Индекс фрагментации позволяет приемнику извлекать полезную нагрузку в правильном порядке, например, когда некоторые пакеты потеряны. Поле Last_fragment_indicator указывает последний фрагмент инкапсулированной полезной нагрузки. Поле Payload_start_indicator указывает, переносит ли текущий пакет DSP первый фрагмент инкапсулированной полезной нагрузки. Поле Stuffing имеет длину 0…n битов и добавляется к пакету, если пакет не полон, в той форме осуществления изобретения, в которой пакет DSP имеет фиксированный размер. Следует отметить, что показанные размеры различных полей приводятся только в качестве примера и могут изменяться в различных формах осуществления изобретения. Дополнительные поля также могут быть определены, и одно или несколько полей, показанных здесь, в некоторых формах осуществления изобретения могут отсутствовать.
[0022] Ниже представлен синтаксис для дескриптора обнаружения услуг (SDD):
[0023] В вышеприведенном примере descriptor_tag указывает тип дескриптора. Например, значение 0×01 может указывать, что дескриптор представляет собой service_discovery_descriptor. Поле version_number указывает версию дескриптора. Это поле может использоваться терминалом, чтобы обнаруживать, были ли какие-либо изменения для дескриптора после его последней проверки. ESGproviderID идентифицирует провайдера электронного справочника услуг (Electronic Service Guide, ESG), объявленных в дескрипторе. Все услуги, перечисленные в дескрипторе, уникальны в пределах связанного с ними идентификатора ESGproviderID. Поле service_loop_length указывает длину следующего цикла.
[0024] Поле serviceID является уникальным идентификатором услуги в области одного провайдера ESG (например, тем, который определен в группе Цифрового видеовещания - Конвергенции вещательных и мобильных услуг (Digital Video Broadcasting Convergence of Broadcast and Mobile Services, DVB-CBMS) или Мобильных широковещательных услуг Открытого мобильного альянса (Open Mobile Alliance Mobile Broadcast Services, ОМА BCAST)). Один идентификатор serviceID может быть связан с одним или несколькими потоками Интернет-протокола (Internet Protocol, IP) (каждый из которых идентифицируется IP-адресом). Идентификатор logical_channel_id имеет взаимно-однозначное соответствие с serviceID. Он идентифицирует логический канал связанного с ним serviceID. Идентификатор logical_channel_id необходим в приемнике, чтобы обнаруживать часть пакетов определенного логического канала, когда в одном физическом канале имеются пакеты более чем одного логического канала. Идентификатор physical_channel_id является идентификатором физического канала, в котором переносится связанный с ним logical_channel.
[0025] Индикатор fec_indicator указывает, используется ли коррекция FEC для связанной с ним услуги. Если этот индикатор был установлен на 0×01, то коррекция FEC используется для связанной с ним услуги. Другие индикации также могут использоваться. Например, 0×00 может указывать, что коррекция FEC отсутствует. Дополнительно, значения индикатора также могут указывать код FEC, который используется. Например, значение 0×01 может указывать, что код FEC является кодом RS (191, 255). Поле frame_size указывает размер кадра FEC, когда коррекция FEC поддерживается связанной с ней услугой. Поле slot_loop_length указывает длину следующего цикла слота. Каждая итерация цикла слота соответствует той же самой итерации в frame_loop. Поле slot_id идентифицирует слот, в котором переносится связанная с ним услуга. Одна услуга может переноситься в нескольких слотах, расположенных в одном или нескольких кадрах. Поле frame_loop_length указывает длину следующего за ним цикла кадра. Каждая итерация цикла кадра соответствует той же самой итерации в slot_loop. Поле frame_id - идентификатор кадра. Каждый кадр связан с одним или несколькими слотами.
[0026] Ниже представлен синтаксис для дескриптора обнаружения соседних услуг (neighboring service discovery descriptor, NSDD):
[0027] Поле descriptor_tag указывает тип этого дескриптора. Например, в этом случае значение 0×02 может указывать neighbouring_service_discovery_descriptor. Поле version_number указывает версию дескриптора. Это поле может использоваться терминалом, чтобы обнаруживать, есть ли какие-либо изменения в этом дескрипторе после последней проверки. Поле network_id указывает сеть элементов, описанных в этом дескрипторе. ESGproviderID идентифицирует провайдера электронного справочника услуг, объявленных в этом дескрипторе. Все услуги, перечисленные в этом дескрипторе, уникальны в пределах связанного с ними ESGproviderID.
[0028] Поле cell_loop_length указывает длину следующих за ним циклов до кода CRC_32. Поле cell_id - идентификатор соты. Каждая сота уникальна в пределах одной сети. Поле frequency - центральная частота радиочастотного канала сигнала для зоны обслуживания связанной с ним соты. Поле service_loop_length указывает длину следующего за ним цикла.
[0029] Поле serviceID является уникальным идентификатором услуги в области одного провайдера ESG (например, такого, который определен в группе DVB-CBMS или ОМА BCAST). Один serviceID может быть связан с одним или несколькими IP-потоками (каждый из которых идентифицируется IP-адресом). Поле logical_channel_id имеет взаимно-однозначное соответствие с serviceID. Поле logical_channel_id идентифицирует логический канал связанного с ним serviceID. Этот идентификатор необходим в приемнике, чтобы обнаруживать часть пакетов определенного логического канала в случае, когда в одном физическом канале Имеются пакеты более чем одного логического канала.
[0030] Поле fec_indicator указывает, используется ли коррекция FEC для соответствующей услуги. Если этот индикатор установлен на 0×01, то тогда коррекция FEC используется для соответствующей услуги. Поле frame_size указывает размер кадра FEC, когда коррекция FEC поддерживается соответствующей услугой. Поле slot_loop_length указывает длину следующего цикла слота. Каждая итерация цикла слота соответствует той же самой итерации в frame_loop. Поле slot_id идентифицирует слот, в котором переносится соответствующая услуга. Одна услуга может переноситься в нескольких слотах, расположенных в одном или нескольких кадрах. Поле frame_loop_length указывает длину следующего за ним цикла кадра. Каждая итерация цикла кадра соответствует той же самой итерации в slot_loop. Поле frame_id - идентификатор кадра. Каждый кадр связан с одним или несколькими слотами.
[0031] В различных формах осуществления изобретения резервируются гарантируемая и общая пропускная способность для передаваемых услуг. В этих формах осуществления изобретения услуги получают гарантируемую пропускную способность в каждом планируемом цикле. Общая пропускная способность используется, чтобы компенсировать изменения скорости передачи битов входного потока. Компенсация может быть достигнута совместным использованием этой пропускной способности при состязательном способе резервирования, в то же время должны быть приняты меры, чтобы, когда некоторые из входных потоков не ведут себя корректно, этим потокам не разрешалось захватить всю общую пропускную способность. Это достигается в планировщике благодаря тому, что он взвешивает потребность каждого входного потока на основании уровней заполнения входного буфера.
[0032] Как правило, не вся общая пропускная способность используется в течение всех периодов планирования. Поэтому эта пропускная способность может использоваться для доставки услуг, предоставляемых "по возможности" (best effort service). Термин "услуга, предоставляемая по возможности" относится к сетевой услуге, для которой сеть не обеспечивает никаких гарантий, что данные будут доставлены или что пользователю будет предоставлен гарантированный уровень качества обслуживания или некоторый приоритет. В сети с услугами, предоставляемыми по возможности, все пользователи получают услуги без гарантии, что означает, что они получают неопределенную переменную скорость передачи битов и неопределенное время доставки, в зависимости от текущей интенсивности трафика. При удалении некоторых функций, таких как восстановления потерянных или поврежденных данных и предварительное распределение ресурсов, сеть работает более эффективно и сетевые узлы недороги. Предоставление "по возможности" может планироваться для таких услуг как загрузка файлов, карусели данных, или услуг другого вида, таких как услуги, которые не требуют постоянной скорости передачи битов. Эта схема является гибкой в том отношении, что она может адаптироваться так, чтобы использовать пропускную способность, когда она доступна. В частной форме осуществления изобретения такие услуги, предоставляемые по возможности, могут обеспечивать гарантируемую скорость передачи битов. Примерами услуг этих видов является электронный справочник услуг в системе DVB-H, телетекст в цифровых телевизионных системах и услуга загрузки программного обеспечения терминала в цифровых телевизионных системах. Кроме того, часть сигнализации системы может использовать пропускную способность, помеченную как предоставляемая по возможности. Сигнализация PSI/SI в системе DVB-T/H представляет собой один из примеров такой сигнализации.
SF
F
L
S
SF
F
L
S
S
S
S
S
L
[0033] Фиг.2 представляет диаграмму, показывающую структуру и соотношения между суперкадрами 200, кадрами 210, слотами 220 и символами 230. Каждый суперкадр 200 (длина каждого обозначается как T) содержит несколько кадров 210. Каждый кадр 210 (длина каждого обозначается как T) содержит несколько слотов 220. Каждый слот 220 (длина каждого обозначается как T) содержит несколько символов 230 (длина каждого обозначается как T). T и T являются фиксированными для одной конфигурации сети, причем T является переменной. Длина T также может быть различной в различных слотах. Например, если слот 1 используется для того, чтобы передавать данные для неподвижных приемников высокого разрешения, то необходима максимальная пропускная способность, и поэтому выбирается режим 8 кбит/с или выше (16 или даже 32 кбит/с). В той же самой сети слот 2 может использоваться для передачи данных на мобильные устройства. Когда требуется характеристика для максимальной мобильности, для слота 2 выбирают скорости 2, 4 или 8 кбит/с. Это означает, что длина T различна у слотов 1 и 2. Длина T в некоторых формах осуществления изобретения может изменяться "на лету", если, например, большие скорости передачи битов необходимы немедленно. Длина T может конфигурироваться. Если T изменяется, то тогда T может оставаться неизменной при изменении К (числа символов). Каждый слот должен формировать один или целое число перемежающихся блоков. Размер слота (в битах) определяет размер перемежающегося блока (или его целочисленной части).
1
2
3
R
1
2
3
P
[0034] Физический канал (PHY_channel) определяется комбинацией набора номеров слотов ({s, s, s…, s}, где 1≤R≤L) и набора номеров кадров ({f, f, f…, f}, где 1≤P≤M). Таким образом, каждый физический канал должен иметь не менее одного слота в одном суперкадре. Например, slot_no={4} и frame_no={1} означает, что PHY_channel имеет один слот (№4) в одном кадре (№1) в течение каждого суперкадра. Аналогично, slot_no={4} и frame_no={1, 2, 3, …, М} означает, что PHY_channel имеет один слот (№4) в каждом кадре в течение каждого суперкадра.
[0035] На фиг.3(a)-3(d) показаны четыре варианта структуры слота/кадра для передачи согласно различным формам осуществления данного изобретения. Как правило, согласно различным формам осуществления изобретения, число слотов в кадре может изменяться от кадра к кадру. Это показано на фиг.3(с) и 3(d). Дополнительно, размер кадра также может изменяться, как показано на фиг.3(d). Это отличается от фиг.3(а), где показаны фиксированные размеры слота и кадра и фиксированное число слотов в кадре. Для нижеследующих целей предполагается, что число слотов фиксировано во всех кадрах и что или каждый кадр, или более большой "суперкадр" имеет фиксированную длину. Эта схема изображена на фиг.3(b). В этом варианте услуга, предоставляемая по возможности, используется, чтобы заполнить остальную часть кадра кадра/суперкадра. В другой альтернативе обеспечивается, что каждый кадр/суперкадр не будет переполняться, посредством изменения скорости кода (Code Rate, CR) для одного, некоторых или всех кодов (скорости блочного кода, скорости внутреннего кода, или скорости внешнего кода) в течение кадра или слота.
[0036] Для планирования может использоваться простое циклическое планирование (по принципу кругового обслуживания). Однако для каждого цикла размеры слотов рассчитываются на основе изменения битовой скорости передачи входных данных. Услуги, имеющие более длинный интервал (то есть услуги, которые встречаются только в каждом N-ом кадре), могут помещаться в начале кадра фиксированного размера. Тогда достаточно сигнализировать, сколько кадров имеется между слотами, а не сколько символов содержится в них, таким образом используя меньше битов.
[0037] В различных формах осуществления изобретения оптимальное энергосбережение достигается наличием символов синхронизации в системе, чтобы обеспечить как можно более быструю синхронизацию. Эти символы синхронизации могут располагаться по меньшей мере в начале каждого кадра. Кроме того, такие символы синхронизации могут появляться также внутри кадров. Согласно одной форме осуществления изобретения один или несколько символов синхронизации располагаются непосредственно перед каждым слотом так, чтобы оптимальная синхронизация могла достигаться при приеме ряда слотов. Согласно другой форме осуществления изобретения обеспечивается информация о том, когда принимается следующий слот из последовательности слотов. Эта информация может передаваться, например, в символах синхронизации. Информация содержит, например, индикацию относительного времени или числа символов ортогонального частотного мультиплексирования (Orthogonal Frequency Division Multiplex, OFDM) от текущего символа до первого символа синхронизации следующего слота в том же самом ряду слотов.
[0038] Фиг.4 - схема, показывающая типичный поток данных передатчика согласно одной форме осуществления данного изобретения. Как показано на фиг.4, демультиплексор 400 входного потока используется для демультиплексирования вводимых потоков с целью необязательной блочной прямой коррекции ошибок (FEC) на основании набора заранее заданных критериев.
[0039] Ряд функциональных устройств блочного кодирования FEC показан в виде устройств 410. Одно устройство блочного кодирования FEC может содержать данные для части услуги, для одной полной услуги или для нескольких услуг. Входящие данные приложения записываются в кадры блочного кодирования FEC, и затем вычисляется код FEC. Каждое устройство 410 блочного кодирования FEC может иметь уникальную скорость кода. В одной форме осуществления изобретения левая часть устройства 410 FEC резервируется для входящих пакетов данных, а правая часть резервируется для вычисленного FEC. Кроме того, в одной форме осуществления изобретения левая часть сначала заполняется по столбцам входящими пакетами и затем вычисляется код FEC, например, построчно с использованием способа Рида-Соломона. После вычисления кода FEC данные считываются из правой части по столбцам. Данные приложения в левом столбце также считываются по столбцам, но в одной форме осуществления изобретения только копия пакетов данных приложения записывается в левую часть устройства FEC, а оригинальные данные приложения пересылаются без ожидания вычисления кода FEC.
[0040] Как только отдельное устройство 410 блочного кодирования FEC завершило вычисление FEC для одного кадра, оно пересылает входящие данные и данные FEC в буфер 420 компенсации скорости передачи битов входных данных (называемый здесь также "входными буферами" и "областью памяти" (bucket)). Размер каждого буфера 420 компенсации скорости передачи битов входных данных может отличаться от размера других таких входных буферов 420. Каждый входной буфер 420 может содержать данные и данные FEC от одного или, опционально, от нескольких устройств 410 блочного кодирования FEC, выходные данные которых, то есть данные приложения и данные FEC, могут мультиплексироваться в один буфер 425. Размер каждого входного буфера 420 должен быть выбран так, чтобы был достаточный участок памяти для буферизации данных без риска переполнения. Каждый входной буфер 420 должен обеспечивать свой размер и текущий уровень заполнения для вычисления размера слота.
[0041] После того, как обработка данных была закончена во входных буферах 420, выполняется планирование и вычисление размера слота. Это обозначено в общем позицией 430 на фиг.4. Ниже приводится упрощенный пример планирования и заполнения кадра:
Если кадр не полон или ни одна область памяти не содержит данные, достаточные для одного субслота
- Продолжить, пока кадр не будет полон
Для всех областей памяти, за исключением области памяти для услуг, предоставляемых по возможности
[0042] Фиг.5 представляет соотношения между символами, субслотами (sub_slots), слотами и кадрами. Каждый субслот содержит целое число символов OFDM. Каждый слот содержит целое число субслотов. В одной форме осуществления изобретения размер субслота выбирается так, чтобы он содержал данные для одного блока внутреннего кода. Эти два ограничения гарантируют, что данные из каждого принимаемого слота могут пересылаться после того, как принят целый слот, и ресурсы приемника могут освобождаться для приема других слотов немедленно после того, как принят каждый слот.
[0043] Устройство для отслеживания предельного уровня буфера и согласования скорости передачи битов представлено в общем как устройство 440 на фиг.4. Опционально, может контролироваться предельный входной уровень буфера. Эта информация может использоваться, в дополнение к изменению размера слота, для компенсации изменения скорости передачи битов на входе. Компенсация может выполняться для отдельного слота, когда уровень заполнения области памяти конкретного слота пересекает заранее заданный порог, или для нескольких слотов, когда пересекается общий порог. Когда буферы достаточно пусты, передача может подстраиваться, например, для более надежного режима и наоборот. Для компенсации изменения скорости передачи битов входных данных скорость передачи битов на выходе может изменяться с помощью по меньшей мере следующих параметров:
1. Параметры модуляции
- квадратурная фазовая манипуляция (QPSK), 16-позиционная квадратурная амплитудная модуляция (16-QAM), 64-позиционная квадратурная амплитудная модуляция (64-QAM) (приводятся в качестве примеров)
- CR внутреннего кодера
- CR внешнего кодера
[0044] Внутренний кодер и внешний кодер изображены на функциональной блок-схеме фиг.10, на которой показана структура формирования кадров, канального кодирования и модуляции для цифрового наземного телевидения.
2. CR блочного FEC
3. Для аудио/видео кодеров также может быть предусмотрена обратная связь.
[0045] Формирование слота/кадра представлено позицией 450 на фиг.4. В этом каскаде данные приложения и данные коррекции FEC, если она используется, отображаются на символы и к потоку добавляются символы синхронизации. Кроме того, к символам синхронизации добавляется необходимая информация сигнализации в реальном времени. Следует отметить, что, хотя символы синхронизации рассматриваются здесь как располагаемые непосредственно перед каждым слотом, в некоторых случаях символы синхронизации не добавляются к началу каждого слота. Это может быть сделано, например, из-за потребности сэкономить некоторую пропускную способность для услуг за счет символов синхронизации.
[0046] Ниже рассматривается сигнализация в случае переменного размера слота. На фиг.6 показан начальный процесс буферизации в приемнике. Так как размеры слотов в последовательности слотов на фиг.6 не фиксированы, у слота номер 4 местоположение начала слота относительно начала кадра изменяется в зависимости от поведения других слотов. На фиг.6 можно видеть, что слот 3 кадра 2 является намного большим, чем тот же самый слот в кадре 1. Поэтому слот 3 "продвинул" слот 4 вперед на некоторую величину времени в кадре 2. Эта величина времени называется джиттером (дрожанием) слота. В этом случае, если приемник начинает использовать слот 4 из кадра 1 сразу после того, как закончился предыдущий слот, приемник израсходует время джиттера слота данных прежде, чем он примет новый слот из кадра 2. Однако если приемник начинает использовать данные из кадра 1 спустя время джиттера слота после конца слота, он будет иметь достаточно данных до прихода нового слота 4 из кадра 2.
[0047] В случае, изображенном на фиг.6, могут использоваться сравнительно простые формулы для вычисления максимального джиттера слота, вызванного использованием общей пропускной способности и переменных размеров слотов. Кроме того, необходимо отметить также, что могут быть случаи, когда пропускная способность для слотов может гарантироваться только после N кадров. Это также вносит джиттер.
[0048] Если есть один или более символов синхронизации непосредственно перед каждым слотом, не требуется прибавлять дополнительную сигнализацию для указания конца слотов. Это связано с тем, что в этом случае приемник знает, что пакет закончился, когда был принят новый символ синхронизации. Когда имеются слоты без символов синхронизации, начало и конец каждого слота может указываться в заголовке протокола, как это обычно делают в системе DVB-H с параметрами реального времени. Эта информация может принимать форму символов синхронизации. В этом случае индикаторы начала и конца могут включать, например, относительное время от символа синхронизации, который переносит информацию.
[0049] На фиг.7(а) и 7(b) показан ряд вариантов, с помощью которых может быть осуществлена сигнализация о начале слота. Первый вариант, изображенный на фиг.7(а), включает использование (динамического) сигнала delta-T_1, который представляет время от начала слота или символов синхронизации, предшествующих слоту в первом кадре, переносящем услугу, до начала следующего слота или символов синхронизации, предшествующих слоту в следующем кадре, переносящем ту же самую услугу. В этом случае не требуется статической сигнализации на уровне управления линией передачи данных (на уровне L2 в модели взаимосвязи открытых систем (Open System Interconnection, OSI)). Delta-T_1 будет иметь длительность, равную времени от начала слота 4 кадра 1 до начала слота 4 кадра N. Часть delta_t может быть оптимизирована отбрасыванием, если продолжительность кадра фиксирована и слоты используют одинаковые кадры.
[0050] В паре вариантов этого процесса, изображенных на фиг.7(b), сигнализируется информация о кадрах, используемых каждым слотом (то есть все кадры, каждый второй кадр, кадры (1 3 5 6) и т.д.). Эта информация может быть расположена в сигнализации на уровне L2 и может быть предусмотрена для всех слотов. Поскольку длина кадра фиксирована, номер кадра будет достаточной информацией для первого слота кадра. Для других слотов необходима некоторая сигнализация в реальном времени, если необходимо добиться оптимального энергосбережения. В первом из этих двух вариантов информация о целевой статической задержке slot_delay сигнализируется на уровне L2. Информация о фактическом (динамическом) времени delta-T_3 также сигнализируется. В этом случае delta-T_3 указывает различие (задержку или опережение) по сравнению со статической информацией. Второй вариант включает сигнализацию о (динамическом) delta-T_2 от начала кадра до фактического появления слота. В каждом случае символы синхронизации или заголовки протокола уровня L2 (аналогичные используемым в системе DVB-H) могут использоваться для переноса динамической части сигнализации.
[0051] Символы синхронизации могут принимать множество форм. Например, символы синхронизации могут включать пилотные символы и символы сигнализации. Кроме того, информация об относительной синхронизации и индикаторы конца слота также могут добавляться к одному из символов сигнализации. Хотя символы синхронизации могут вставляться непосредственно перед каждым слотом, для каждого слота возможно также, чтобы он содержал символы синхронизации. В одной частной форме осуществления изобретения каждый слот начинается символами синхронизации. Однако в других формах осуществления изобретения это необязательно. Например, по соображениям экономии пропускной способности символы синхронизации могут не вставляться в каждый слот. В этом случае приемник должен активизироваться раньше, чтобы он мог принять один набор символов синхронизации перед приемом необходимого слота.
[0052] На фиг.8 и 9 показано характерное электронное устройство 50, в котором может быть реализовано настоящее изобретение. Однако должно быть понятно, что настоящее изобретение не предназначено для того, чтобы быть ограниченным устройством одного конкретного вида. Электронное устройство 50, показанное на фиг.8 и 9, содержит корпус 30, дисплей 32 в виде дисплея на жидких кристаллах, клавиатуру 34, микрофон 36, телефонный капсюль 38, аккумуляторную батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде универсальной микропроцессорной карты (Universal Integrated Circuit Card, UICC) согласно одной из форм осуществления изобретения, устройство 48 считывания карт, схему 52 радиоинтерфейса, схему 54 кодека, контроллер 56 и память 58. Все отдельные схемы и элементы представляют собой устройства хорошо известного в данной области техники типа, например, по ассортименту мобильных телефонов фирмы Nokia.
[0053] Различные формы осуществления изобретения, описанные здесь, описываются в общем контексте операций способа, которые могут быть осуществлены в одной форме осуществления компьютерным программным продуктом в виде машиночитаемого носителя, включающим выполняемые компьютером команды, такие как код программы, выполняемый компьютерами в сетевых средах. Вообще, программные модули включают подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют специфические задачи или реализуют специфические абстрактные типы данных. Выполняемые компьютером команды, связанные структуры данных и программные модули представляют примеры кода программы для выполнения операций способов, раскрытых здесь. Специфическая последовательность таких выполняемых команд или связанных структур данных представляет примеры соответствующих действий для осуществления функций, описанные в таких операциях или способах.
[0054] Отдельные и специфические структуры, описанные в предшествующих примерах, должны пониматься как образующие типичную структуру средств для выполнения определенных функций, описанных в формуле изобретения, хотя ограничения в формуле изобретения не должны интерпретироваться как ограниченные формулой "средства плюс функция", когда термин "средства" там не используется. Кроме того, использование термина "операция" в предшествующем описании не должно использоваться для толкования любого определенного ограничения в формуле изобретения как ограниченного формулой "операция плюс функция". В той мере, в какой отдельные ссылки, включая выданные патенты, заявки на патенты и публикации непатентных документов, описываются или иначе упоминаются здесь, такие ссылки не предназначены и не должны истолковываться как ограничение объема формулы изобретения.
[0055] Реализации различных форм осуществления настоящего изобретения с помощью программного обеспечения и Web-решений могут быть достигнуты стандартными способами программирования с логикой на основе правил и другой логикой для выполнения различных операций или способов поиска в базах данных, операций или способов корреляции, операций или способов сравнения и операций или способов решения. Следует отметить, что слова "компонент" и "модуль" в том смысле, как они используется здесь и в формуле изобретения, предназначены для того, чтобы охватывать реализации, использующие одну или более строк программного кода, и/или аппаратные реализации и/или оборудование для приема данных, вводимых вручную.
[0056] Вышеприведенное описание форм осуществления изобретения было представлено с целью иллюстрации и описания. Оно не предназначено быть исчерпывающим или ограничивать настоящее изобретение точной раскрытой формой, и модификации и видоизменения возможны в свете вышеупомянутых идей или могут быть получены из практики применения различных форм осуществления изобретения. Рассматриваемые здесь формы осуществления были выбраны и описаны для того, чтобы объяснить принципы и сущность различных форм осуществления изобретения и их практического применения, а также дать возможность специалистам в данной области техники использовать настоящее изобретение в различных формах его осуществления и с различными модификациями, которые подходят для предполагаемого конкретного применения.