СПОСОБ И УСТРОЙСТВО ДЛЯ АНАЛИЗА ДАННЫХ
METHOD AND DEVICE TO ANALYSE DATA

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к области мобильной широковещательной передачи мультимедиа и, в частности, к способу и устройству для анализа данных.
УРОВЕНЬ ТЕХНИКИ
Мобильная широковещательная передача мультимедиа является технологией отображения мультимедиа, которая возникла в недавнее время. Пользователь может смотреть телепередачи на карманном терминале, перемещаясь с высокой скоростью. Терминал принимает список программ по беспроводному протоколу и дает возможность выбирать каналы, обозначенные для просмотра, принимать мультимедиа данные выбранных каналов и смотреть телепередачи на мобильном терминале.
В существующих сетях мобильной широковещательной передачи мультимедиа передаются различные данные служб в формате, указанном в определенном стандарте и технической спецификации, и приемный терминал после приема данных, инкапсулированных в определенный формат, анализирует в соответствии с определениями формата данные служб и получает требуемые данные служб.
Вторая часть стандартов китайской системы мобильной широковещательной передачи мультимедиа определяет структуру мультиплексного кадра для мобильной широковещательной передачи мультимедиа, который содержит полезные данные и заголовок мультиплексного кадра с информацией о длине, параметрами мультимедиа и т.д. Мультиплексный кадр определяет формат инкапсулирования потока данных и состоит из множества мультиплексных субкадров, а количество мультиплексных субкадров содержится в заголовке мультиплексного кадра.
Контент одной службы широковещательной передачи мультимедиа инкапсулирован в каждый мультиплексный субкадр, структура которого показана на фиг.1. Мультиплексный субкадр содержит заголовок мультиплексного субкадра, сегмент видеоинформации, сегмент аудиоинформации и сегмент данных. Заголовок мультиплексного субкадра содержит указатели видеоинформации/аудиоинформации/данных для указания на то, содержит ли данный мультиплексный субкадр сегменты видеоинформации/аудиоинформации/данных, при этом сегмент видеоинформации формируется инкапсулированием заголовка сегмента видеоинформации и множества блоков видеоинформации, как показано на фиг 2а; сегмент аудиоинформации формируется инкапсулированием заголовка сегмента аудиоинформации и множества блоков аудиоинформации, как показано на фиг 2b; сегмент данных формируется инкапсулированием заголовка сегмента данных и множества блоков данных, как показано на фиг 2с.
В данном описании сегмент видеоинформации, сегмент аудиоинформации и сегмент данных называются сегментом медиаинформации, а блоки видеоинформации, блоки аудиоинформации и блоки данных называются блоками медиаинформации. Сегмент медиаинформации и блоки медиаинформации, содержащиеся в мультиплексном субкадре, могут быть одним или более указанными выше сегментами и блоками. Число блоков в данном сегменте, длина каждого блока и т.д. представлены в заголовке сегмента видеоинформации/аудиоинформации/данных, при этом каждый блок составлен из одного или более полных мультиплексных блоков.
Как показано на фиг.3, блок медиаинформации состоит из мультиплексных блоков; мультиплексный блок содержит заголовок мультиплексного блока и полезные данные мультиплексного блока. Заголовок мультиплексного блока включает следующие поля: стартовый код, метку начала, метку окончания, тип, длину полезных данных, тип блока данных и циклический избыточный код (CRC, Cyclic Redundancy Check), при этом:
поле стартового кода используется для указания начала мультиплексного блока и является первой частью заголовка мультиплексного блока, этот код может занимать первый байт мультиплексного блока, имея фиксированное значение 0×55;
поле метки начала используется для указания на то, является ли текущий мультиплексный блок началом блока видеоинформации/блока аудиоинформации/блока данных. Если текущий мультиплексный блок является первым мультиплексным блоком блока видеоинформации/блока аудиоинформации/блока данных, то бит метки содержит "1", если этот блок не является первым мультиплексным блоком блока видеоинформации/блока аудиоинформации/блока данных, то бит метки содержит "0";
поле метки окончания используется для указания на то, является ли текущий мультиплексный блок окончанием блока видеоинформации/блока аудиоинформации/блока данных. Если текущий мультиплексный блок является последним мультиплексным блоком блока видеоинформации/блока аудиоинформации/блока данных, то бит метки содержит "1", если этот блок не является последним мультиплексным блоком блока видеоинформации/блока аудиоинформации/блока данных, то бит метки содержит "0";
поле длины полезных данных используется для указания длины полезных данных мультиплексного блока в байтах;
поле типа используется для указания типа мультиплексного блока, включая мультиплексные блоки для передачи видеоинформации, мультиплексные блоки для передачи аудиоинформации и мультиплексные блоки для передачи данных. Мультиплексные блоки для передачи видеоинформации составляют блоки видеоинформации, мультиплексные блоки для передачи аудиоинформации составляют блоки аудиоинформации и мультиплексные блоки для передачи данных составляют блоки данных. Значения типов мультиплексных блоков и типы мультиплексных блоков показаны в следующей таблице.
Значения типа
Тип мультиплексного блока
00
мультиплексные блоки для передачи видеоинформации
01
мультиплексные блоки для передачи аудиоинформации
10
мультиплексные блоки для передачи данных
Тип блоков данных используется для формирования блока данных и действителен только тогда, когда тип мультиплексного блока равен "10".
В настоящее время полный алгоритм анализа мультиплексного блока следующий: определение стартового кода заголовка мультиплексного блока; после определения стартового кода определение по метке начала и метке окончания мультиплексного блока того, является ли мультиплексный блок первым или последним мультиплексным блоком блока видеоинформации/аудиоинформации/данных; определение в соответствии с типом заголовка мультиплексного блока того, принадлежит ли данный мультиплексный блок блокам видеоинформации, блокам аудиоинформации или блокам данных; если этот блок принадлежит блокам данных, то осуществляют анализ поля типа блока данных; выполнение вычисления кода CRC для заголовка мультиплексного блока и определение, является ли содержание каждого поля заголовка мультиплексного блока корректным; получение длины полезных данных мультиплексного блока из поля длины полезных данных в заголовке мультиплексного блока; после получения длины полезных данных мультиплексного блока, чтение полезных данных мультиплексного блока в соответствии с длиной полезных данных мультиплексного блока. В указанном выше алгоритме не существует конкретного требования к порядку анализа каждого поля, которое обеспечивает анализ всех полей.
В процессе передачи данных службы сигналы широковещательного канала, принимаемые мобильным терминалом мультимедиа, могут отличаться от сигналов, передаваемых передающим терминалом системы, вследствие таких факторов, как расстояние, экранирование препятствием, многолучевое распространение, эффект Доплера и т.д., а также вследствие помех от других радиосигналов; поэтому некоторые данные не могут быть восстановлены даже после демодуляции/исправления ошибок, что является причиной приема некорректных данных и формирования битовой ошибки. Так как формат инкапсулирования данных службы должен удовлетворять требованиям анализа данных и при плохом, и при хорошем качестве приема, то приемный терминал в случае полного анализа выполняет в соответствии с форматом инкапсулирования данных службы некоторые избыточные этапы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической задачей настоящего изобретения является создание способа и устройства для анализа данных с целью упрощения этапов анализа данных и увеличения скорости анализа для случая отличного качества приема.
Для решения этой технической задачи предлагается способ анализа данных, включающий определение, при чтении мультиплексных блоков, включенных в блок медиаинформации, закончено ли чтение каждого мультиплексного блока в блоке медиаинформации, в соответствии с общей длиной блока медиаинформации и длиной мультиплексного блока, при этом блок медиаинформации является блоком видеоинформации, блоком аудиоинформации или блоком данных.
Тип каждого мультиплексного блока, включенного в блок медиаинформации, определяют в соответствии с типом блока медиаинформации.
Если блок медиаинформации является блоком данных, значение типа блока данных каждого мультиплексного блока, включенного в блок данных, определяют в соответствии с типом блока данных в заголовке сегмента данных, в котором блок данных содержится.
Упомянутое определение того, закончено ли чтение каждого мультиплексного блока в блоке медиаинформации, включает вычитание длины мультиплексного блока из общей длины блока медиаинформации, при этом данный блок медиаинформации проанализирован полностью, если остаточное значение равно 0; данный блок медиаинформации проанализирован не полностью и требует продолжения анализа, если остаточное значение больше, чем длина заголовка мультиплексного блока; данный блок медиаинформации имеет ошибку анализа, если остаточное значение меньше или равно длине заголовка мультиплексного блока, завершение.
Способ также включает определение того, является ли первый байт после полезных данных последнего прочитанного мультиплексного блока стартовым кодом мультиплексного блока; и если да, то длина полезных данных последнего прочитанного мультиплексного блока является корректной; иначе анализ имеет ошибку, завершение.
Способ также включает чтение полезных данных мультиплексного блока в соответствии с длиной полезных данных из заголовка мультиплексного блока и позицией начала полезных данных мультиплексного блока.
Способ также включает анализ поля длины полезных данных для получения длины полезных данных мультиплексного блока, определение начала полезных данных мультиплексного блока путем вычитания одного байта из длины заголовка мультиплексного блока, начинающегося со стартового кода мультиплексного блока, в обратном направлении, и чтение полезных данных мультиплексного блока от начала полезных данных мультиплексного блока в соответствии с длиной полезных данных мультиплексного блока.
Способ также включает определение после чтения заголовка первого мультиплексного блока в блоке медиаинформации, того, является ли первый байт заголовка мультиплексного блока стартовым кодом мультиплексного блока; если да, выполнение чтения полезных данных мультиплексного блока, иначе сообщение об ошибке анализа блока медиаинформации, завершение.
Предлагается также устройство для анализа данных, встроенное в мобильный терминал и содержащее модуль анализа мультиплексного блока для определения в соответствии с общей длиной блока медиаинформации и длиной мультиплексного блока того, закончено ли чтение каждого мультиплексного блока в блоке медиаинформации.
Устройство также содержит модуль анализа сегмента медиаинформации для анализа общей длины каждого блока медиаинформации в сегменте медиаинформации и уведомления модуля анализа мультиплексного блока.
Итак, в соответствии со структурой мультиплексных блоков, в настоящем изобретении в случае отличного качества приема мобильным терминалом широковещательной медиаинформации уже не используется определение того, является ли мультиплексный блок первым или последним мультиплексным блоком, по метке начала и метке окончания, которые анализируются вместе с типом и полем типа блока данных и кодом CRC, что позволяет упростить анализ мультиплексных блоков, при этом сокращаются потоки обработки данных в приемном терминале и достигается быстрота анализа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 показана структура мультиплексного субкадра в соответствии со стандартами китайской системы мобильной широковещательной передачи мультимедиа.
На фиг.2а показана структура сегмента видеоинформации мультиплексного субкадра, изображенного на фиг.1.
На фиг.2b показана структура сегмента аудиоинформации в мультиплексном субкадре.
На фиг.2с показана структура сегмента данных в мультиплексном субкадре.
На фиг.3 показана структура мультиплексного блока для формирования блоков видеоинформации/аудиоинформации/данных в сегменте видеоинформации/аудиоинформации/данных.
На фиг.4 показаны структура сегмента данных и его заголовка, а также параметры блока данных.
На фиг.5 показана блок-схема алгоритма в соответствии с примером осуществления настоящего изобретения.
На фиг.6 показаны структура сегмента видеоинформации, его заголовка, а также параметры блока видеоинформации.
На фиг.7 показана структура сегмента аудиоинформации и его заголовка.
На фиг.8 показана структура устройства для анализа данных в соответствии с настоящим изобретением.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Согласно фиг.1-3 при анализе блока медиаинформации, после корректного анализа заголовка мультиплексного субкадра и заголовка каждого сегмента медиаинформации мультиплексного субкадра, приемный терминал при анализе мультиплексного блока в действительности получает тип мультиплексного блока; например, если анализируется блок видеоинформации, то его мультиплексный блок, очевидно, имеет тип видеоинформации, если анализируется блок аудиоинформации, его мультиплексный блок, очевидно, имеет тип аудиоинформации и т.д.; тип блока данных может быть получен из поля типа блока данных, размещенного в поле параметров блока данных заголовка сегмента данных (см. фиг.4), без осуществления анализа двух полей: типа в заголовке мультиплексного блока и типа блока данных.
Если мультиплексный блок проанализирован корректно, первый байт после этого мультиплексного блока обязательно будет стартовым кодом мультиплексного блока, при условии, что блок медиаинформации не проанализирован полностью. В связи с этим после определения того, является ли первый прочтенный байт полезных данных мультиплексного блока стартовым кодом мультиплексного блока, без необходимости выполнения проверки CRC заголовка мультиплексного блока будет известно, корректна или нет длина полезных данных мультиплексного блока.
По длине блока медиаинформации и длине проанализированного мультиплексного блока можно определить без анализа метки начала и метки окончания каждого мультиплексного блока, проанализирован ли блок медиаинформации полностью или нет.
Поэтому приемный терминал может завершить анализ мультиплексного блока в соответствии со стартовым кодом мультиплексного блока и длиной полезных данных мультиплексного блока. Если же произойдет ошибка анализа, то приемный терминал начнет анализировать данные в соответствии с полным процессом анализа мультиплексного блока.
Предлагаемый в настоящем изобретении способ анализа данных является упрощенной формой существующего способа анализа блока медиаинформации, при этом длина полезных данных мультиплексного блока анализируется после определения стартового кода мультиплексного блока, а полезные данные мультиплексного блока читаются в соответствии с длиной полезных данных мультиплексного блока.
Предлагаемый способ будет описан на примере анализа приемным терминалом блока данных. Как показано на фиг.5, блок-схема алгоритма анализа блока данных с использованием способа настоящего изобретения содержит следующие шаги:
501: анализ мультиплексного субкадра; при анализе сегмента данных мультиплексного субкадра анализ длины блока данных и поля типа блока данных, размещенных в поле параметров блока данных в заголовке сегмента данных; анализ длины блока данных и типа блока данных;
502: анализ блока данных сегмента данных и получение заголовка первого мультиплексного блока в блоке данных,
при этом первые пять байтов в каждом блоке данных являются заголовком первого мультиплексного блока, и заголовок первого мультиплексного блока блока данных может быть получен из первых пяти байтов блока данных;
503: определение, является ли первый байт полученного заголовка мультиплексного блока стартовым кодом мультиплексного блока; если да, выполнение этапа 504; иначе сообщение об ошибке анализа блока данных, завершение,
при этом приемный терминал может определять, является ли первый байт мультиплексного блока стартовым кодом мультиплексного блока, путем определения, равно ли значение первого байта мультиплексного блока 0×55;
504: анализ длины полезных данных текущего мультиплексного блока из поля длины полезных данных мультиплексного блока;
505: чтение полезных данных мультиплексного блока в соответствии с проанализированной длиной полезных данных мультиплексного блока и сохранение прочитанных полезных данных мультиплексного блока в область буфера,
при этом приемный терминал читает полезные данные текущего мультиплексного блока, начиная с пятого байта после стартового кода мультиплексного блока, а длина прочтенных байтов является длиной полезных данных мультиплексного блока, проанализированной из поля длины полезных данных;
506: вычитание значения 5 (длина заголовка мультиплексного блока) из длины блока данных, проанализированной из заголовка сегмента данных, с последующим вычитанием длины прочтенных полезных данных мультиплексного блока и получением остаточного значения;
507: определение остаточного значения, при этом остаточное значение, равное 0, указывает на то, что блок данных проанализирован полностью; если остаточное значение больше или равно 6, то следует выполнение этапа 508; если остаточное значение больше 0, но меньше 6, сообщение об ошибке анализа блока данных, завершение;
508: определение, является ли первый байт после прочтенных полезных данных мультиплексного блока стартовым кодом мультиплексного блока, и если да, то чтение этого байта и 4-х байтов за ним, переход на этап 504; иначе сообщение об ошибке анализа блока данных, завершение.
Вышеприведенный процесс предназначен для анализа блока данных в соответствии с настоящим изобретением, а по отношению к блокам видеоинформации и блокам аудиоинформации длина заголовков их мультиплексного блока равна 4-м байтам, поскольку в заголовках мультиплексного блока блоков видеоинформации и блоков аудиоинформации отсутствует поле типа блока данных. При анализе блоков видеоинформации и аудиоинформации выполняют следующее.
На этапе 501 анализ полей длины блока видеоинформации/аудиоинформации из параметров блоков видеоинформации/аудиоинформации в заголовке сегментов видеоинформации/аудиоинформации для получения длины блоков видеоинформации/аудиоинформации.
На этапе 502 получение заголовков первых мультиплексных блоков путем извлечения первых 4-х байтов блоков видеоинформации и аудиоинформации.
На этапе 505 чтение приемным терминалом полезных данных текущего мультиплексного блока, начиная с четвертого байта после стартового кода мультиплексного блока.
На этапе 506 вычитание значения 4 из длины блока данных с последующим вычитанием длины прочтенных полезных данных мультиплексного блока.
На этапе 507: если остаточное значение больше 5, то выполнение этапа 508; если остаточное значение больше 0, но меньше 5, сообщение об ошибке анализа, завершение.
На этапе 508: определение, является ли первый байт после полезных данных мультиплексного блока стартовым кодом мультиплексного блока, и если да, то чтение этого байта и 3-х байтов за ним, переход на этап 504.
Если в процессе анализа блока медиаинформации происходит ошибка анализа, приемный терминал может выполнить в соответствии со структурой мультиплексного блока полный алгоритм анализа для мультиплексного блока, имеющего ошибку анализа.
В дополнение к способу анализа данных, в настоящем изобретении также предлагается устройство для анализа, используемое в мобильном приемном терминале широковещательного мультимедиа, структура которого показана на фиг.8. Это устройство содержит модуль анализа мультиплексного блока и модуль анализа сегмента медиаинформации, которые соединены последовательно, при этом:
модуль анализа мультиплексного блока определяет в соответствии с общей длиной блока медиаинформации и длиной мультиплексного блока, завершено или нет чтение каждого мультиплексного блока в блоке медиаинформации;
модуль анализа сегмента медиаинформации используется для анализа общей длины каждого блока медиаинформации в сегменте медиаинформации и уведомления модуля анализа мультиплексного блока.
Настоящее изобретение имеет множество других примеров, и специалисты могут осуществить различные соответствующие модификации и преобразования, однако все такие модификации и преобразования находятся в рамках формулы изобретения.