Структура потока данных индекса с кодированным многокомпонентным ключом
Изобретение относится к области предоставления аудио и визуальных услуг. Его использование позволяет получить технический результат в виде обеспечения возможности передавать структуру потока данных с кодированным многокомпонентным ключом, пригодной для определения местоположения составных ключей индекса метаданных цифрового контента. Этот результат достигается благодаря тому, что сигнал имеет структуру для переноса индекса с кодированным многокомпонентным ключом для определения местоположения составного ключа индекса метаданных цифрового контента, транспортируемых на основе независимой единицы данных, содержащую секцию перечня ключевых индексов (index_list), включающую в себя данные многокомпонентного ключа, используемые в поиске составного ключа индекса, при этом данные многокомпонентного ключа кодируются одиночным кодовым значением. 1 з.п. ф-лы, 5 табл.
Область техники, к которой относится изобретение
Изобретение в общем относится к структуре потока данных индекса с кодированным многокомпонентным ключом для определения местоположения составных ключей индекса метаданных цифрового контента (информационно значимого содержимого) и, в частности - к структуре потока данных индекса, содержащей фрагмент индексов многокомпонентного ключа, кодированных для метаданных на расширяемом языке разметки (XML) для цифрового контента, определяемых стандартом организации «TV-Anytime Forum» (далее - «метаданные TVA»), в целях более эффективного определения местоположения составных ключей индекса для метаданных, когда метаданные TVA транспортируются в независимой единице данных, в т.н. фрагменте.
Предшествующий уровень техники
Специалистам в данной области техники хорошо известно, что TV-Anytime Forum является гражданской организацией стандартизации, которая учреждена в сентябре 1999 г. для разработки стандартов предоставления аудио и визуальных услуг в такой пользовательской среде, как PDR (персональное цифровое записывающее устройство), имеющее большой объем памяти для персональных целей. Конкретнее, TV-Anytime Forum предназначается для обеспечения всем пользователям возможности слушать и смотреть телевизионные программы в различных видах (напр., существующие вещательные услуги и оперативные интерактивные услуги, и пр.) любым требующимся способом и в любое желательное время на основе персонального запоминающего устройства.
TV-Anytime Forum выполняет проект стандартизации в нескольких рабочих группах для коммерческих моделей, систем, транспортных интерфейсов и обращения к контенту, для метаданных, управления правами и охраны прав, и пр. В отношении метаданных, фигурирующих в данном изобретении, стандарт «SP003v1.3, Part В Version 1.3» опубликован до 02 августа 2002 г. В обсуждаемом в настоящее время документе «WD647-Draft SP003v13 Part В» предлагается структура потока данных индекса с кодированным многокомпонентным ключом для индексирования фрагментов метаданных.
В эту структуру входят:
1. Секция перечня индексов (index_list)
Секция перечня индексов (index_list) обеспечивает перечень всех транспортируемых многокомпонентных ключей. В каждой структуре перечня индексов (index_list) имеются поля в количестве num_fields, обеспечивающие возможность индексирования с многокомпонентным ключом согласно Таблице 1.
Таблица 1 | ||
Синтаксис | Число битов | Мнемоническая схема |
Index_list(){ | ||
for (j=0; j<num_indexes, j++){... | ||
index_descriptor_length | 8 | uimsbf |
fragment_type | 16 | uimsbf |
if(fragment_type=0xffff) { | ||
fragment_xpath_ptr | 16 | uimsbf |
} | ||
num_fields | 8 | uimsbf |
for(k=0; k<num_fields; k++) {... | ||
field_identifier | 16 | uimsbf |
if(field_identifier=0xffff) { | ||
field_xpath_ptr | 16 | uimsbf |
} | ||
field_encoding | 16 | uimsbf |
} | ||
16 | uimsbf | |
index_identifier | 8 | uimsbf |
} | ||
} |
2. Секция индекса
Таблица 2 | ||
Синтаксис | Число битов | Мнемоническая схема |
Index() { | ||
overlapping_subindexes | 1 | bslbf |
single_layer_sub_index | 1 | bslbf |
reserved | 6 | bslbf |
fragment_locator_format | 8 | uimsbf |
for(j=0; j<sub_index_count, j++) {... | ||
for(k=0; k<num_fields; k++) {... | ||
if(overlapping_subindices='1') { | ||
low_field_value | 16 | uimsbf |
} | ||
high_field_value | 16 | uimsbf |
} | ||
sub_index_container | 16 | uimsbf |
sub_index_container | 8 | uimsbf |
} | ||
} |
3. Секция субиндекса множественного поля (multi_field_sub_index)
Таблица 3 | ||
Синтаксис | Число битов | Идентификатор |
Multi_field_sub_index() { | ||
multi_field_header { | ||
leaf_field | 1 | bslbf |
multiple_locators | 1 | bslbf |
reserved | 6 | bslbf |
} | ||
multi_field_index_entries { | ||
for (j=0; j<num_entries; j++) {... | ||
if (single_layer_sub_index='0') { | ||
multi_layer_sub_index_structure() | ||
} else { | ||
single_layer_sub_index_structure() | ||
} | ||
} | ||
} | ||
} |
В обычной структуре потока данных индекса с многокомпонентным ключом, поскольку фрагмент или ключ имеют, соответственно, кодированное значение, то Xpath или способ их кодирования должен быть назначен каждому ключу индекса, а любому полю, не относящемуся к индексируемому фрагменту, нельзя присваивать ключ. Помимо этого, индексирование посредством синтезированного поля ключа, не существующего как фактическое поле в документе XML TVA-метаданных, невозможно.
Сущность изобретения
Соответственно, настоящее изобретение разработано с учетом изложенных выше проблем предшествующего уровня техники; и задача изобретения состоит в обеспечении структуры потока данных индекса с кодированным многокомпонентным ключом, пригодной для определения местоположения составных ключей индекса метаданных цифрового контента.
Для решения указанной задачи настоящее изобретение обеспечивает структуру потока данных индекса с кодированным многокомпонентным ключом, в которой задан обязательный перечень индексов, требуемый для TV-Anytime; и ключ индекса, принадлежащий к обязательному перечню индексов, присваивается кодированному значению, не используя при этом XPath. Поэтому, в соответствии с замыслом настоящего изобретения, назначается только кодированное значение - даже если ключ индекса состоит из множества полей.
Наилучший режим для осуществления изобретения
Далее изобретение описывается более подробно со ссылкой на приводимые ниже таблицы.
В целях пояснения будет соблюдаться обязательный перечень индексов, требуемый для TV-Anytime.
Кодирующее значение присваивается каждому индексу в соответствии с ключом индекса, в котором данное кодирующее значение может содержать информацию о своем фрагменте. Многокомпонентный ключ рассматривается как составной ключ индекса, но заданному многокомпонентному ключу присваивается кодирующее значение так же, как и в случае одиночного ключа. 0х0000 может быть присвоено незаданному полю, чтобы индексировать произвольный фрагмент.
Таблица 4 | ||
Тип фрагмента | Ключ индекса | Значение |
Незаданный тип фрагмента | Любое поле типа TVAIDType, соответствующего типу схемы (Schema) | 0×0000 |
Program Information (Информация о программе) | ©programId (идентификатор программы) | 0×0001 |
BasicDescription/Title (Основное Описание/Название) | 0×0002 | |
BasicDescription/Keyword (Основное Описание/Ключевое слово) | 0×0003 | |
BasicDescription/Genre (Основное описание/Жанр) | 0×0004 | |
PersonName ->(FamilyName, GivenName) (Имя индивидума ->(Фамилия, Имя)) | 0×0005 | |
Информация о группе | GroupType (Тип Группы) | 0×0006 |
@groupld (идентификатор группы) | 0×0007 | |
OnDemandProgramLocation (Определение местоположения программы по требованию) | ||
BroadcastEvent (Событие вещания) | @servicelDRef (@Ссылка на идентификатор услуги) | 0×0008 |
(@serviceldRef, PublishedTime, EndTime) (@Ссылка на идентификатор услуги, объявленное время, время окончания) | 0×0009 | |
Расписание | (©serviceldRef, start, end) (@Ссылка на идентификатор обслуживания, начало окончание) | 0×000А |
Информация об услугах | ©serviceld (@идентификатор услуги) | 0×000В |
ServiceGenre (Жанр услуги) | 0×000С | |
PersonName (Имя индивидуума) | @personNameld (@идентификатор имени индивидуума) | 0×000D |
(фамилия, имя) | 0×000Е | |
OrganisationName (Название Организации) | @organisationNameld (@идентификатора Названия Организации) | 0×000F |
ProgramReviews (Обзоры Программ) | Program/@crid (программа/@crid) | 0×0010 |
CSAlias | @alias (иное название) | 0×0011 |
ClassificationScheme (Схема Классификации) | Term (терм) | 0×0012 |
Информация о Сегменте | ProgramRef/@crid () | 0×0013 |
@segmentld (@идентификатор сегмента) | 0×0014 | |
Description/Title (Описание/название) | 0×0015 | |
Description/Keyword (Описание ключевое слово) | 0×0016 | |
Информация о группе сегментов | ProgramRef/@crid (ссылка на программу/@crid) | 0×0017 |
GroupType (Тип Группы) | 0×0018 | |
@groupld (@Идентификатор Группы) | 0×0019 | |
Description/Title (Описание/Название) | 0×001А | |
Description/Keyword (Описание/Ключевое слово) | 0×001 В | |
Зарезервировано для TVA | N/A (Нет данных) | 0×00E-0×00EF |
Частная информация пользователя | N/A (Нет данных) | 0×00F0-0×FE00 |
Выражение XPath W3C | N/A (Нет данных) | 0×FFFF |
Основываясь на приводимой выше таблице, можно ввести два типа специальных ключей индекса.
(1) Ключ индекса, не содержащийся во фрагменте
Индексирование с помощью поля ключа, не содержащегося в рассматриваемом фрагменте, необходимо для упрощения обработки запроса PDR. В приводимой выше таблице фрагмент «ProgramInformation» индексируется с помощью поля имени индивидуума, содержащегося во фрагменте «PersonName», который относится к CreditsInformation (Информации о кредитах) (нужно отметить, что «ProgramInformation» можно соотнести с фрагментом «PersonName», который относится к CreditsInformation, через BasicDescription/CreditsList/PersonNameIDRef. В этом случае «ProgramInformation» индексируется с помощью (Фамилии, Имени) во фрагменте «PersonName».
(2) Синтезированный индексный ключ
Можно использовать синтезированный индексный ключ, не существующий в данном фрагменте. Синтезированный ключ состоит из комбинации полей ключа, имеющихся в данном фрагменте. Например, нужно обеспечить индекс для многокомпонентного ключа
<ServiceId, PublishedTime, EndTime>для фрагмента «BroadcastEvent», в котором для времени окончания «EndTime» поля ключа нет. В этом случае «EndTime» можно синтезировать комбинированием объявленного времени «PublishedTime» и объявленной длительности «PublishedDuration».
Для обеспечения упоминаемого выше обязательного перечня индексов необходимы следующие структуры. В вышеуказанных индексах XPath поля ключа или кодирование поля ключа не требуются.
1. секция перечня индексов (index_list)
Таблица 5 | ||
Синтаксис | Число битов | Мнемоническая схема |
Index_list() { | ||
for (j=0; j<num_indexes; j++) {... | ||
index_descriptor_length | 8 | uimsbf |
fragment_type | ||
if(fragment_type=0xffff) { | ||
fragment_xpath_ptr | 16 | uimsbf |
} | ||
key_identifier | 16 | uimsbf |
if(key_identifier=0xffff) {... | ||
num_fields | 8 | uimsbf |
for (k=0; k<num_fields; k++) {... | ||
field_xpath_ptr | 16 | uimsbf |
} | ||
field_encoding | 16 | uimsbf |
} | ||
index_container | 16 | uimsbf |
index_container | 8 | uimsbf |
} | ||
} |
Поля структуры index_list, упоминаемые выше, поясняются ниже.
index_descriptor_length: длина каждого описателя индекса
fragment_type: кодирующее значение типа фрагмента
fragment_XPath_ptr: указатель XPath некодированного фрагмента
key_identifier: значение кодирования ключа индекса
num_fields: количество полей ключа некодированных ключей индекса
field_xpath_ptr: указатель XPath каждого поля ключа некодированных ключей индекса
field_encoding: тип кодирования каждого поля ключа некодированных ключей индекса
index_container: идентификатор контейнера, содержащего структуру индекса
index_identifier: идентификатор рассматриваемой структуры индекса
Описываемые выше секция индекса ключа (key_index) и секция субиндекса с множеством полей (multi_filed_sub_index) могут быть теми же, что и обычные секции, либо их часть можно изменить согласно приводимому выше перечню и секции перечня индексов.
Промышленная применимость
Как указано выше, структура потока данных индекса с многокомпонентным ключом согласно настоящему изобретению обеспечивает кодированное значение, для которого не нужно отдельно задавать XPath, и способ кодирования применительно к каждому ключу индекса, в результате чего снижается объем служебных сигналов у приемной стороны. Помимо этого, поскольку поле, не относящееся к индексируемому фрагменту, можно задавать с ключом, обеспечивается возможность создания поля, ориентированного на пользователя
Хотя вариант осуществления изобретения раскрыт в пояснительных целях, специалистам в данной области техники будут понятны возможные различные изменения, дополнения и замены в нем, выполняемые не выходя за рамки объема и сущности изобретения, раскрываемого в прилагаемой формуле изобретения.
1. Сигнал, имеющий структуру для переноса индекса с кодированным многокомпонентным ключом для определения местоположения составного ключа индекса метаданных цифрового контента, транспортируемых на основе независимой единицы данных, содержащую секцию перечня ключевых индексов (in-dex_list), включающую в себя данные многокомпонентного ключа, используемые в поиске составного ключа индекса, при этом данные многокомпонентного ключа кодируются одиночным кодовым значением.
2. Сигнал по п.1, в котором независимая единица данных представляет собой фрагмент.