RU2294012C2 - Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе - Google Patents

Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе Download PDF

Info

Publication number
RU2294012C2
RU2294012C2 RU2003128962/09A RU2003128962A RU2294012C2 RU 2294012 C2 RU2294012 C2 RU 2294012C2 RU 2003128962/09 A RU2003128962/09 A RU 2003128962/09A RU 2003128962 A RU2003128962 A RU 2003128962A RU 2294012 C2 RU2294012 C2 RU 2294012C2
Authority
RU
Russia
Prior art keywords
data
xsd
stream
data structure
bits
Prior art date
Application number
RU2003128962/09A
Other languages
English (en)
Other versions
RU2003128962A (ru
Inventor
Сильвэн ДЕВИЛЛЕР (NL)
Сильвэн ДЕВИЛЛЕР
Original Assignee
Конинклейке Филипс Электроникс Н.В.
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 Конинклейке Филипс Электроникс Н.В. filed Critical Конинклейке Филипс Электроникс Н.В.
Publication of RU2003128962A publication Critical patent/RU2003128962A/ru
Application granted granted Critical
Publication of RU2294012C2 publication Critical patent/RU2294012C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Изобретение относится к синтаксическому анализу потока битов, содержащего данные, которые имеют структуру и содержимое, соответствующие некоторому формату, и предназначен для формирования древовидного представления упомянутого потока. Технический результат - повышение помехозащищенности. Предлагаемая схема, получаемая из XML, которая позволяет описывать формат кодирования в обобщенном виде. Такая схема используется для выполнения синтаксического анализа потока битов для получения документа, который представляет поток битов, который является экземпляром упомянутой схемы, или для формирования потока битов из документа, представляющего поток битов. 7 н.п. ф-лы, 3 ил.

Description

Настоящее изобретение относится к способу преобразования в электронный документ потока битов, содержащего данные, которые имеют структуру и содержимое, соответствующие некоторому формату, причем упомянутый способ предназначен для формирования древовидного представления упомянутого потока. Изобретение также относится к способу формирования потока битов согласно некоторому формату из документа, который представляет собой древовидное представление упомянутого потока битов и который содержит данные, в особенности импортируемые данные, посредством использования некоторого режима импорта. Изобретение также относится к структуре данных, образующей схему для преобразования потока битов в электронный документ и определяющей один или несколько типов данных, которые могут иметь один или несколько аспектов, и содержащей множество элементов, для которых она описывает имя, тип данных, расположение с перекрытием, порядок и предварительно определенное или случайное количество появлений, причем появление элемента является обязательным или факультативным.
Изобретение также относится к компьютерным программам для осуществления таких способов, к обрабатывающему блоку, содержащему средство памяти для хранения упомянутых структуры данных и компьютерных программ, а также к системе передачи, содержащей, по меньшей мере, объект источника и объект адресата, причем упомянутый объект источника содержит упомянутый обрабатывающий блок.
Изобретение может применяться в области редактирования, изменения и объединения содержимого. Примером применения изобретения является адаптация содержимого, подлежащего передаче адресату как функции профиля пользователя (экран, вычислительная производительность, объем памяти, канал связи, используемый для передачи и т.д.). Такая адаптация позволяет избежать бесполезных передач данных, которые получатель не сможет использовать, и, таким образом, сэкономить на полосе пропускания.
В этом отношении в заявке на патент Франции №0101530, поданной 05.02.2001 г. Конинклийке Филипс Электронике Н.В., уже описан способ генерации файла с некоторыми характеристическими свойствами из основного документа, написанного на языке разметки и описывающего основной последовательный файл, причем упомянутый способ содержит этап преобразования для генерации преобразованного документа посредством применения к основному документу предварительно определенного преобразования, которое является функцией упомянутых характеристических свойств, причем файл с упомянутыми характеристическими свойствами генерируется из преобразованного документа. Этот способ включает в себя выполнение необходимых преобразований основного документа, в котором очевидна структура последовательного файла. Это позволяет исключить необходимость декодирования основного последовательного файла для его повторного кодирования иным образом.
Однако этот способ генерации файла подразумевает генерацию основного документа, который описывает основной последовательный файл, а затем генерацию другого файла из преобразованного документа.
Задачей настоящего изобретения является создание автоматически выполняемого обобщенного способа выполнения таких операций.
В соответствии с изобретением указанный результат достигается посредством структуры данных, которая образует схему для преобразования потока битов в электронный документ на языке разметки или наоборот, определяет один или более типов данных, которые могут иметь один или более аспектов, причем аспект соответствует ограничению, наложенному на набор значений типа данных и содержит множество элементов, для которых она описывает имя, тип данных, расположение с перекрытием, порядок и предварительно определенное или случайное количество появлений, причем появление элемента является обязательным или факультативным, а также определяет один или более типов данных, которые соответствуют двоичным словам предварительно определенной длины или длин и которые имеют, по меньшей мере, аспект, относящийся к упомянутой длине. Упомянутая структура данных отличается тем, что она определяет одну или более переменных, составляемых путем доступа к данным, причем она содержит одно или несколько условных ветвлений для описания различных структур или возможного содержимого как функции значения упомянутых одной или более переменных, и, факультативно, имеет, по меньшей мере, один из следующих характеристических признаков: упомянутая структура данных определяет тип данных, который соответствует двоичным сегментам неопределенной длины и который имеет, по меньшей мере, аспект, указывающий, должны ли двоичные сегменты быть преобразованы и введены в электронный документ или двоичные сегменты должны содержаться в двоичном файле, и указатели на двоичный файл должны быть введены в электронный документ, и аспект, относящийся к флагу останова двоичного сегмента, причем структура данных определяет аспект, относящийся к заполняющим битам, содержащимся в упомянутых двоичных словах предварительно определенной длины или длин.
Кроме того, в соответствии с изобретением способ преобразования потока битов в электронный документ на языке разметки, содержащего данные со структурой и содержимым согласно некоторому формату, и электронный документ является древовидным представлением упомянутого потока битов, содержит этапы считывания структуры данных, поиска в упомянутом потоке битов данных, которые соответствуют элементам, содержащимся в упомянутой структуре данных, формирования экземпляра упомянутой структуры данных, который содержит данные, найденные в упомянутом потоке битов, и который составляет упомянутое древовидное представление.
Кроме того, в соответствии с изобретением способ формирования потока битов согласно некоторому формату из электронного документа на языке разметки, представляющему собой древовидное представление потока битов и содержащему данные, импортируемые посредством использования преобразования данных, чтобы ввести данные в электронный документ, или посредством использования указателей на двоичный файл, содержащий данные, содержит этапы считывания упомянутого документа, параллельного считывания структуры данных, которая обобщенным образом описывает упомянутый формат, кодирования упомянутых данных как функции определяемого типа, составления потока битов из кодированных данных.
Изобретение также относится к компьютерным программам, содержащим команды и обеспечивающим при загрузке в процессор выполнение процессором способа преобразования потока битов в электронный документ на языке разметки и способа формирования потока битов согласно некоторому формату из электронного документа на языке разметки.
Кроме того, в соответствии с изобретением обрабатывающий блок содержит средство памяти для хранения структуры данных и средство памяти для хранения программы, которая содержит команды для осуществления способа синтаксического анализа потока битов, основанного на упомянутой структуре данных, для формирования документа на языке разметки, который представляет упомянутый поток битов, который является экземпляром упомянутой структуры данных, и/или программы, которая содержит команды для осуществления способа формирования потока битов, основанного на упомянутой структуре данных и на документе, представляющем упомянутый поток битов, который является экземпляром упомянутой структуры данных.
Изобретение также относится к системе передачи, содержащей, по меньшей мере, объект источника и, по меньшей мере, объект адресата, причем объект источника содержит заявленный обрабатывающий блок.
Изобретение поясняется ниже со ссылками на чертежи, на которых показано следующее:
фиг.1 - блок-схема, иллюстрирующая выполнение синтаксического анализа в способе преобразования потока битов в электронный документ согласно изобретению,
фиг.2 - блок-схема, иллюстрирующая способ создания потока битов согласно изобретению и
фиг.3 - пример системы передачи согласно изобретению.
На фиг.1 представлена блок-схема, объясняющая основной режим способа преобразования потока битов в электронный документ. Блок В1 представляет поток битов в соответствии с предварительно определенным форматом. Блок В2 представляет схему, которая в обобщенном виде описывает упомянутый предварительно определенный формат. Блок В3 представляет синтаксический анализатор, который позволяет выполнять синтаксический анализ потока В1 битов для создания документа В4, который представляет собой древовидное представление потока В1 битов и экземпляр схемы В2.
Схема В2 описывает синтаксис потока битов. В особенности, она определяет тип данных, которые могут иметь место в потоке битов, и метод, которым они должны быть включены в документ. Древовидное представление В4 создается в зависимости от анализа потока В1 битов.
На фиг.2 представлена блок-схема, объясняющая принцип действия способа формирования потока битов согласно изобретению. Блок В'2 представляет схему, которая описывает формат кодирования в обобщенном виде. Блок В'4 представляет документ, который представляет собой экземпляр схемы В'2. Блок В'3 представляет генератор потока битов, который позволяет выполнять параллельное считывание документа В'4 и схемы В'2 для создания потока В'1 битов. Предпочтительно, схемы В2 и В'2, используемые для одного формата кодирования, идентичны.
Документ В'4 считывается схемой В'2 с целью определения типа данных, которые содержатся в документе В'4. Для значения, считанного из документа В'4, соответствующий тип данных, обнаруживаемых в схеме В'2, определяет режим кодирования, который должен использоваться для кодирования упомянутого значения.
В целом, конечно, не является необходимым предоставление полной детализации структуры формата кодирования в схеме. Степень детализации зависит от рассматриваемого применения. Для применения, описанного в заявке на патент Франции №0101530, упомянутого в вводной части настоящей заявки (способ генерации файла - например файла JPEG2000 - характеристические свойства которого адаптированы к профилю получателя), некоторые сегменты маркеров JPEG2000 должны быть даны подробно, параметр за параметром, чтобы можно было выполнить восстановление упомянутых параметров и модифицирование их. Другие сегменты маркеров обрабатываются как блоки, так как нет необходимости иметь доступ к параметрам, которые они содержат.
Документы В4 и В'4 предпочтительно являются документами расширяемого языка разметки (XML), и схемы В2 и В'2 написаны на новом языке, полученном из языка описания схемы XML. XML является рекомендацией консорциума Всемирной паутины (расширяемый язык разметки, версия 1.0, от 06.10.2000), и схема XML представляет собой проект рекомендации консорциума Всемирной паутины, датированный 24.10.2000. Рекомендация XML и проект рекомендации схемы XML доступны на сайте Интернета http://www.w3.org/. Однако это не является ограничивающим, и принципы изобретения, которые подробно описаны в остальной части описания, могут быть применены при использовании языков другого типа, например языков типа описания структуры документа (DSD), предложенного компанией AT&T и BRICS университета г.Орхус в Дании, и доступных на сайте в Интернете http://www.brics.dk/DSD/.
С физической точки зрения XML-документ содержит, в особенности, элементы, которые могут быть проанализированы и могут содержать текст, т.е. последовательность знаков, принадлежащих предварительно определенному набору знаков, и которые представляют тег или текстовые данные.
С точки зрения логики XML-документ содержит один или несколько элементов, границы которого отмечаются флагом начала и флагом останова. Элементы могут быть включены в другие элементы (что образует расположение с перекрытием). Каждый элемент идентифицируется именем, которое указывается в его флаге начала и в его флаге останова. Элемент может иметь значение. Значение элемента размещается между его флагом начала и его флагом останова.
В примере, который описывается ниже, данные выбираются для размещения непосредственно в элементах XML-документа, чтобы упростить реализацию (т.е. данные, содержащиеся в XML-документе, составляют значения элементов XML).
Схема XML представляет собой язык описания схемы, который позволяет осуществлять определение содержимого и структуры XML-документа: в частности, схема XML позволяет описывать элементы и для каждого элемента имя, тип данных, расположение с перекрытием, порядок и количество появлений. Порядок и количество появлений может быть предварительно определено или быть неопределенным. Появление элемента может быть обязательным или дополнительным.
Схема определяет класс XML-документов. Экземпляром схемы XML является XML-документ, который действителен в отношении упомянутой схемы.
В нижеследующем описании, чтобы дать конкретный пример осуществления изобретения, рассматриваются потоки битов формата JPEG2000. Это уже не является ограничивающим, и ясно, что изобретение может быть применено к другим форматам. Для некоторых форматов может быть необходимым добавить другие типы данных к тем, которые здесь описаны.
В Приложении А приведен пример схемы, которая описывает формат кодирования JPEG2000. В этой схеме используются простые типы данных, которые являются обобщенными и которые определены в Приложении В, и простые типы данных, полученные из этих обобщенных типов, которые определены в Приложении С. В Приложении D приведен пример XML-документа, который является экземпляром схемы, приведенной в Приложении А, и который представляет поток битов JPEG2000. В Приложениях А, В и С и в нижеследующем описании буквы ≪xsd≫ обозначают инструменты, которые определяются в схеме XML. И буквы ≪bsd≫ обозначают инструменты, которые добавляются изобретением.
Согласно изобретению схема В2 (которая считается идентичной схеме В'2 в нижеследующем описании) определяет тип всех данных, которые могут содержаться в потоке согласно формату JPEG2000. Некоторые типы данных уже существуют в языке описания схемы XML и могут быть непосредственно использованы. Другие должны быть модифицированы. Другие должны быть добавлены.
Поток данных согласно формату JPEG2000 более конкретно содержит следующие типы данных:
1) двоичные сегменты неопределенных длин, содержимое которых может быть импортировано в XML-документ посредством использования первого или второго режима импорта, описанного ниже,
2) двоичные слова различных длин, которые могут содержать биты заполнения, которые не являются старшими,
3) маркеры, значение которых определяется в шестнадцатеричном коде в стандарте JPEG2000 и которые импортируются в шестнадцатеричном коде в XML-документ. Этот импорт в шестнадцатеричном коде составляет третий режим импорта.
Первый режим импорта содержит преобразование двоичных данных в знаки, которые принадлежат предварительно определенному набору знаков, используемому XML. С этой целью предпочтительно используется способ кодирования, известный под названием ≪base 64≫ и описанный в параграфе 6.8 документа RFC 2045, опубликованного Целевой группой инженерной поддержки Интернета. Этот способ содержит разделение двоичных данных и преобразование их в группы по 6 битов и связывание каждой группы из 6 битов со знаком из предварительно определенного набора знаков. Этот первый режим импорта вызывает расширение данных на 33%.
Во втором режиме импорта вместо преобразования двоичных данных в знаки для вставки их непосредственно в XML-документ, в XML-документ вводятся указатели на область двоичного файла, содержащую упомянутые двоичные данные. XML-документ тогда становится зависимым от упомянутого двоичного файла.
В языке описания схемы XML определяется тип данных в качестве триплета, который содержит:
- набор значений, называемый пространством значений,
- набор лексических представлений, называемый лексическим пространством,
- набор аспектов, причем аспект соответствует ограничению, наложенному на пространство значений.
Для осуществления изобретения кодирование данных, которые записаны в потоке битов, должно быть однозначным и неявным. Непосредственно используются некоторые типы данных, которые ранее имели место в схеме XML и являются однозначными и неявными: это в случае, например, типов данных ≪xsd: unsignedShort≫, которые представляют целое число от -32768 до +32767 и которое, таким образом, может быть неявно закодировано двумя байтами. Это также в случае ≪xsd: unsignedint≫ и ≪xsd: unsignedByte≫.
Согласно изобретению также используется тип данных ≪xsd:binary≫, но посредством его модифицирования:
1) К нему добавляется аспект, относящийся к флагу останова, названный ≪bsd: stopFlagExclusive≫. Этот аспект используется для указания окончания двоичного сегмента неопределенной длины: например, пакеты JPEG2000, которые являются двоичными сегментами неопределенной длины, определяются либо маркером SOP (начало пакета), либо маркером SOT (начало элемента мозаичного изображения), либо маркером ЕОС (окончание кодового потока); таким образом, для пакета JPEG2000 этот аспект принимает одно из трех значений: FF51 (SOP), FF90 (SOT) или FFD9 (ЕОС).
2) Новое возможное значение добавляется к аспекту ≪encoding≫, который уже существует в языке описания схемы XML со значениями ≪hex≫ для шестнадцатеричного кода и ≪base 64≫ для импорта после преобразования кодом Base-64. Новое добавляемое значение называется ≪externalData≫. Оно используется для указания того, что данные импортируются в XML-документ посредством использования вышеупомянутого второго режима импорта (введение в XML-документ указателя, который указывает на область потока битов, которая содержит рассматриваемые данные).
Этот модифицированный тип данных называется ≪binaryNoLength≫ и определяется следующим образом в Приложении С:
<xsd:simpleType name="binaryNoLength">
<xsd:annotation>
<xsd:appinfo>
<!-- Считывание данных до обнаружения флага -->
<xsd:hasFacet name="stopFlagExclusive"/>
<!-- Как двоичным данным должны быть приписаны значения: -->
<!-- base64, hex (такие же как для xsd:binary) -->
<!-- externalData (универсальный идентификатор ресурса (URI), указывающий на внешний сегмент данных объекта) -->
<xsd:has Facet name="encoding"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:restriction base="xsd:anySimpleType"/>
</xsd:simpleType>
Этот модифицированный тип данных, который является обобщенным типом, затем используется для получения других типов конкретных данных, которые могут быть найдены в потоке битов XML. Например, как указано в Приложении В, тип ≪PacketDataTYpe≫, который соответствует пакетам JPEG2000, получается из обобщенного типа ≪binaryNoLength≫. В этом примере видно, что данные, содержащиеся в этих пакетах, импортируются в XML-документ посредством использования второго режима импорта (указатель на область потока битов, которая содержит данные). Также видно, что пакет JPEG2000 определяется маркером, который имеет одно из следующих трех значений: FF51, FFD9 или FF90.
<xsd:simpleType name="packetDataType">
<xsd:restriction base="bsd:binaryNoLength">
<xsd:encoding value="externalData"/>
<bsd:stopFlagExclusive value="FF51|FFD9|FF90"/>
</xsd:restriction>
</xsd:simpleType>
Хотя ссылка делается на Приложение А, считается, что другие элементы имеют тип, получаемый из ≪binaryNoLength≫, например, элемент, названный ≪Data≫ в элементе комплексного типа СОС. Этот элемент ≪Data≫ имеет аспект ≪encoding≫, значение которого составляет ≪base 64≫, которое означает, что соответствующие данные импортируются из потока битов в XML-документ в результате использования преобразования кодом Base-64.
<xsd:complexType name="COCType">
<xsd:sequence>
<xsd: element name="Marker≫type="jp2:markerType≫ fixed="ff53"/>
<xsd:element name="Lcoc≫ type="xsd:unsignedShort"/>
<xsd:element name="data">
<xsd:simpleType>
<xsd:restriction base="xsd:binary">
<xsd:length value="SLcoc"/>
<xsd:encoding value="base64"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
Изобретение также предусматривает добавление нового типа данных, предназначенного для использования для двоичных слов с предварительно определенной длиной. Этот новый тип данных называется ≪bsd:bitsArray≫, и он содержит три аспекта: один аспект, названный ≪bitsLength≫, относится к длине двоичного слова, один аспект, названный ≪prePadding≫, относится к количеству битов заполнения, расположенных перед старшим битом или старшими битами, и один аспект, названный ≪postPadding≫, относится к количеству битов заполнения, расположенных после старшего бита или старших битов. Этот новый тип данных определяется в Приложении С следующим образом:
<xsd:simpleType name="bitsArray">
<xsd:annotation>
<xsd:appinfo>
<xsd:hasFacet name="bitsLength"/>
<xsd:has Facet name="prePadding"/>
<xsd:has Facet name="postPadding"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:restriction base="xsd:anySimpleType"/>
</xsd:simpleType>
Как указано в Приложении В, этот новый тип данных, который является обобщенным типом данных, затем используется для получения конкретных типов данных, которые можно найти в потоке JPEG2000. Например, тип данных, названный ≪11b≫, который получается из обобщенного типа данных ≪bitsArray≫, соответствует двоичному слову из 11 битов, которое не содержит битов заполнения:
<xsd:simpleType name="11b">
<xsd:restriction base="bsd:bitsArray">
<bsd:bitsLength value="11"/>
</xsd:restriction>
</xsd:simpleType>
И тип данных, названный ≪5b3p≫, который также получен из обобщенного типа данных ≪bitsArray≫, соответствует двоичному слову из 5 битов, которое содержит 2 старших бита, за которыми следуют 3 бита заполнения.
<xsd:simpleType name="5b3p">
<xsd:restriction base="bsd:bitsArray">
<bsd:bitsLength value="5"/>
<bsd:postPadding value="3"/>
</xsd:restriction>
</xsd:simpleType>
Co ссылкой на Приложение А устанавливается, что используется тип данных ≪11b≫, например, для элемента, названного ≪mantissa≫:
<xsd:element name=″mantissatype="jp2:11b"/>
и что тип данных ≪5b3p≫ используется, например, для элемента, называемого ≪exponent≫:
<xsd:element name=″exponenttype="jp2:5b3p"/>
С точки зрения структуры в изобретении используются следующие инструментальные средства, которые уже существуют в схеме XML:
- простые и комплексные типы данных ≪xsd:simple Type≫ и ≪xsd: complex Type≫,
- элементы ≪xsd: element≫,
- групповые модели ≪xsd: group≫,
- соединители ≪xsd: sequence≫, ≪xsd: all≫ и, возможно, ≪xsd: choice≫.
Синтаксический анализатор В3 считывает поток В1 битов со схемой В2 для создания древовидного представления В4 потока В1 битов. Это древовидное представление В4 является экземпляром потока В2. Оно создается рекурсивно посредством интерпретации соединителей, найденных в схеме.
Более конкретно, соединитель ≪xsd: sequence≫ интерпретируется синтаксическим анализатором следующим образом:
когда синтаксический анализатор находит соединитель ≪xsd: sequence≫, он считывает элементы в потоке битов в том же порядке, что и в схеме. Например, соединитель ≪xsd: sequence≫ используется в элементах типа ≪CodestreamType≫, определяемого в Приложении А.
<xsd:complexType name="CodestreamType">
<xsd:sequence>
<xsd:element name=″MainHeadertype="jp2:MainHeaderType"/>
<xsd:element name=″Tile type="jp2:TileType"/>
<xsd:element name="EOCtype="jp2:EOCType"/>
</xsd:sequence>
</xsd:complexType>
Согласно этому определению элемент ≪Codestream≫ должен содержать элемент ≪MainHeader≫, за которым следует элемент ≪Tile≫, за которым следует элемент ≪ЕОС≫.
Соединитель ≪xsd: all≫ интерпретируется синтаксическим анализатором следующим образом: когда синтаксический анализатор обнаруживает соединитель ≪xsd: all≫, он предпринимает попытку считывания первого декларированного элемента в соединителе ≪xsd: all≫, и, если она завершается неуспешно, он делает попытку считать второй элемент и т.д. Когда он обнаруживает элемент, поиск которого он осуществляет, он переходит к следующему элементу в соединителе ≪xsd: all≫. Он переходит к следующему соединителю только тогда, когда будут просмотрены все элементы соединителя ≪xsd: all≫.
Элемент, обнаруженный в потоке битов, не соответствует элементу, поиск которого осуществляется, когда схема определяет фиксированное значение для этого элемента или для элемента из подэлементов, которые он содержит, и когда это значение не соответствует тому значению, которое обнаруживается в потоке битов. Например, когда синтаксический анализатор пытается реализовать элемент ≪SIZ≫, элементом, считанным из потока битов, не является элемент, поиск которого осуществляется, если он не начинается с ≪FF51≫, которое представляет собой значение, присвоенное маркеру ≪SIZ≫ в стандарте JPEG2000.
Соединитель ≪xsd: all≫, например, используется в элементах типа ≪MainHeader Type≫, определяемого в Приложении А.
<xsd:complexType name="MainHeaderType">
<xsd:sequence>
<xsd:element name="SOC" type="jp2:SOCType"/>
<xsd:element name="SIZ" type="jp2:SIZType"/>
<xsd:group>
<xsd:all>
<xsd:element name="COD" type="jp2:CODType" minOccurs="0"/>
<xsd:element name="QCD" type="jp2:QCDType" minOccurs="0"/>
<xsd:element name="COC" type="jp2:COCType" minOccurs="0"/>
<xsd:element name="QCC" type="jp2:QCCType" minOccurs="0"/>
<xsd:element name="RGN" type="jp2:RGNType" minOccurs="0"/>
<xsd:element name="POC" type="jp2:POCType" minOccurs="0"/>
<xsd:element name="PPM" type="jp2:PPMType" minOccurs="0"/>
<xsd:element name="TLM" type="jp2:TLMType" minOccurs="0"/>
<xsd:element name="PLM" type="jp2:PLMType" minOccurs="0"/>
<xsd:element name="CRG" type="jp2:CRGType" minOccurs="0"/>
<xsd:element name="COM" type="jp2:COMType" minOccurs="0"/>
</xsd:all>
</xsd:group>
</xsd:sequence>
</xsd:complexType>
Согласно этому определению элемент ≪MainHeader≫ должен содержать элемент ≪SOC≫, за которым следует элемент ≪SIZ≫, за которым следует группа, которая может содержать один, или несколько, или ни одного из следующих элементов, взятых в неопределенном порядке: ≪COD≫, ≪QCD≫, ≪COC≫, ≪QCC≫, ≪RGN≫, ≪РОС≫, ≪РРМ≫, ≪TLM≫, ≪PLM≫, ≪CRG≫.
Хотя в Приложении А не приведен никакой пример, также может быть использован соединитель ≪xsd: choice≫. Когда синтаксический анализатор обнаруживает соединитель ≪xsd: choice≫, он предпринимает попытку считывания в потоке битов первого элемента, декларированного в соединителе ≪xsd: choice≫. Когда синтаксический анализатор обнаруживает элемент, поиск которого он осуществляет, он переходит к следующему соединителю в схеме. Если считанным элементом не является элемент, поиск которого осуществляется, то синтаксический анализатор переходит к следующему элементу в этом же соединителе ≪xsd: choice≫.
Кроме того, изобретение предусматривает использование переменных в схемах. Понятие переменной используется в языке преобразования расширяемого языка стилевого оформления (XSLT). XSLT представляет собой язык, определенный консорциумом Всемирной паутины, который позволяет определять преобразования, которые могут быть применены для XML-документов. Конкретно, переменная представляет собой строку символов, связанную с одним значением. Она может появиться в определенной позиции в документе и может быть использована в другом месте. В соответствии с синтаксисом, определенным в XSLT, доступ к значению идентифицированной переменной строкой символов осуществляется посредством размещения знака $ перед строкой символов (другими словами, $ZZZ представляет собой значение переменной, идентифицируемой строкой символов ZZZ). Значение переменной указывается при определении переменной. Изобретение позволяет определять значение переменной в виде пути дерева XML, посредством использования синтаксиса, определенного в языке Xpath (язык описания путей XML). Язык Xpath также является языком, определенным консорциумом Всемирной паутины. Спецификации языков XSLT и Xpath доступны на сайте Интернета http://www.w3.org.
Использование переменной позволяет, например, определить количество элементов посредством параметра вместо определения его постоянным значением. Когда значение параметра дается в начале потока битов и информирует о структуре или содержании остальной части потока битов, то значение переменной определяется посредством использования синтаксиса языка Xpath.
Например, в формате JPEG2000 количество компонентов ≪comp-siz≫, содержащихся в сегменте SIZ маркера, определяется в параметре ≪Csiz≫, который помещается в начале сегмента маркера SIZ. В Приложении А элемент ≪Csiz≫ определяется как переменная. Ее значение определяется путем в строящемся древовидном представлении: в отношении этого выражение ≪SIZ/Csiz≫ указывает, что ≪Csiz≫ является порожденным элементом элемента ≪SIZ≫. Затем, во время определения комплексного типа ≪SIZ≫ вызывается эта переменная ≪Csiz≫ для определения количества появлений элемента ≪comp-siz≫.
<xsl:variable name="Csiz">
<xsl:value-of select="SIZ/Csiz"/>
</xsl:variable>
<xsd:element name="Comp_siz" minOccurs="$Csiz" maxOccurs="$Csiz">
Изобретение также предусматривает добавление новой групповой модели ≪bsd:conditionalChoice≫ и двух новых соединителей ≪xsl: if≫ и ≪xsl: choose≫. Это позволяет вводить условные ветвления в схемах и, таким образом, выражать условный выбор, который может существовать в формате, который необходимо описать. Необходимо отметить, что соединители ≪xsl: if≫ и ≪xsl: choose≫ определяются в языке XSLT. Согласно спецификациям языка XSLT соединители ≪xsl: if≫ и ≪xsl: choose≫ используют атрибут ≪test≫, который позволяет определять выбор функции результата теста. Соединитель ≪xsl: if≫ позволяет определять выбор как функция значения логической переменной. Соединитель ≪xsl: choose≫ позволяет определять выбор из множества вариантов.
В качестве примера, формат JPEG2000 обеспечивает то, что присутствие некоторых элементов или что тип данных зависит от значения параметра, который указывается в начале потока битов.
Это, в особенности, проявляется в элементе ≪Spcod≫, который содержится в элементе ≪COD≫. Элемент ≪Spcod≫ содержит элемент ≪PredinctSize≫ исключительно тогда, когда переменная ≪PredinctsUsed≫ имеет значение 1. Это ограничение выражается в схеме, в которой используется соединитель ≪xsl: if≫.
<xsd:element name="SPcod">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nDecompLevels" type="xsd:unsignedByte"/>
<xsd:element name="codeBlockWidth" type="jp2:4p4b"/>
<xsd:element name="codeBlockHeight" type="jp2:4p4b"/>
<xsd:element name="codeBlockStyle">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="optSegMarkers" type="jp2:2p1b"/>
<xsd:element name="optErTerm" type="jp2:1b"/>
<xsd:element name="optVertStrCausal" type="jp2:1b"/>
<xsd:element name="optRegTerm" type="jp2:1b"/>
<xsd:element name="optResetMQ" type="jp2:1b"/>
<xsd:element name="optByPass" type="jp2:1b"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Transfonnation" type="xsd:unsignedByte"/>
<xsl:if test="$PrecinctsUsed=1">
<xsd:element name="PrecinctSize" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="PPy" type="jp2:4b"/>
<xsd:element name="PPx" type="jp2:4b"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsl:if>
</xsd:complexType>
</xsd:element>
В элементе ≪QCD≫ находится пример группы ≪bsd: conditionalChoice≫, который использует соединители ≪xsl: choose≫ для указания, что тип последующего элемента (Spqcd_1≫, Spqcd_2 или Spqcd_3) зависит от значения параметра ≪quantStyle≫, положение которого в обрабатываемом в настоящий момент древовидном представлении определяется путем ≪QCD/Sqcd/QuantStyle≫.
<bsd:conditionalChoice>
<xsl:choose>
<xsl:when test="QCD/Sqcd/quantStyle='0"'>
<xsd:element name="Spqcd_1" minOccurs="3*$nDecompLevels+1" maxOccurs="3*$nDecompLevels+1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="exponent" type="jp2:5b3p"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsl:when>
<xsl:when test="QCD/Sqcd/quantStyle='1'">
<xsd:element name="Spqcd_2" minOccurs="1" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="exponent" type="jp2:5b"/>
<xsd:element name="mantissa" type="jp2:11b"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsl:when>
<xsl:when test="QCD/Sqcd/quantStyle='2"'>
<xsd:element name="Spqcd_3"minOccurs="3*$nDecompLevels+1" maxOccurs="3*$nDecompLevels+1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="exponent" type="jp2:5b"/>
<xsd:element name="mantissa" type="jp2:11b"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsl:when>
</xsl:choose>
</bsd:conditionalChoice
Когда синтаксический анализатор считывает поток битов, он последовательно создает XML-дерево. Когда он встречает переменную в схеме, например в атрибуте ≪test≫ соединителя ≪if≫, он оценивает эту переменную посредством применения указанного пути.
Необходимо отметить, что язык XML позволяет определять свои собственные расширения. Первый вариант выполнения изобретения, таким образом, содержит добавление новых инструментов, предлагаемых изобретением в качестве расширений для существующего языка описания схемы XML. Другой вариант выполнения изобретения содержит полное переопределение нового языка, который применяет инструменты схемы XML и добавляет к нему новые инструменты, предлагаемые изобретением.
На фиг.3 показан пример системы передачи в соответствии с изобретением. Система передачи, показанная на фиг.3, содержит сервер SV и множество клиентов СТ. Сервер SV и клиенты СТ связаны со Всемирной паутиной Интернета. Сервер SV содержит средство MEM памяти и обрабатывающее средство PROC. Средство памяти содержит, в особенности, схему В2, первый поток В1 битов и компьютерную программу PG1 для осуществления способа синтаксического анализа согласно изобретению для получения первого документа В4, который представляет первый поток В1 битов и который представляет собой экземпляр схемы В2. Средство MEM памяти также предпочтительно содержит компьютерную программу PG2 для осуществления способа создания второго потока В'1 битов из документа В'4, представляющего его, и из схемы В2.
В качестве примера документ В'4 получается в результате применения преобразования к документу В4, причем это преобразование зависит от профиля клиента, который ранее запросил передачу потока битов.

Claims (7)

1. Структура (В2) данных, которая образует схему для преобразования потока (В1) битов в электронный документ (В4) на языке разметки или наоборот,
упомянутая структура данных определяет один или более типов данных, которые могут иметь один или более аспектов, причем аспект соответствует ограничению, наложенному на набор значений типа данных, и содержит множество элементов, для которых она описывает имя, тип данных, расположение с перекрытием, порядок и предварительно определенное или случайное количество появлений, причем появление элемента является обязательным или факультативным,
упомянутая схема определяет один или более типов данных, которые соответствуют двоичным словам предварительно определенной длины или длин и которые имеют, по меньшей мере, аспект, относящийся к упомянутой длине,
отличающаяся тем, что
упомянутая структура данных определяет одну или более переменных, составляемых путем доступа к данным, причем она содержит одно или несколько условных ветвлений для описания различных структур или возможного содержимого как функции значения упомянутых одной или более переменных,
и факультативно имеет, по меньшей мере, один из следующих характеристических признаков:
упомянутая структура данных определяет тип данных, который соответствует двоичным сегментам неопределенной длины и который имеет, по меньшей мере, аспект, указывающий, должны ли двоичные сегменты быть преобразованы и введены в электронный документ или двоичные сегменты должны содержаться в двоичном файле и указатели на двоичный файл должны быть введены в электронный документ, и аспект, относящийся к флагу останова двоичного сегмента,
причем структура данных определяет аспект, относящийся к заполняющим битам, содержащимся в упомянутых двоичных словах предварительно определенной длины или длин.
2. Способ преобразования потока (В1) битов в электронный документ (В4) на языке разметки, причем поток битов содержит данные, которые имеют структуру и содержимое согласно некоторому формату, причем электронный документ является древовидным представлением упомянутого потока битов, причем упомянутый способ содержит этапы
A) считывания структуры (В2) данных по п.1,
B) поиска в упомянутом потоке битов данных, которые соответствуют элементам, содержащимся в упомянутой структуре данных,
C) формирования экземпляра упомянутой структуры данных, который содержит данные, найденные в упомянутом потоке битов, и который составляет упомянутое древовидное представление.
3. Компьютерная программа (PG1), содержащая команды, которая при загрузке в процессор (SV) обеспечивает выполнение процессором способа преобразования по п.2.
4. Способ формирования потока (В1) битов согласно некоторому формату из электронного документа (В4') на языке разметки, который представляет собой древовидное представление упомянутого потока битов и который содержит данные, в особенности данные, импортируемые посредством использования преобразования данных таким образом, чтобы ввести данные в электронный документ, или посредством использования указателей на двоичный файл, который содержит данные, причем способ содержит этапы
A) считывания упомянутого документа,
B) параллельного считывания структуры данных (В2) по п.1, которая обобщенным образом описывает упомянутый формат,
C) кодирования упомянутых данных как функции определяемого типа,
D) составления потока (В1) битов из кодированных данных.
5. Компьютерная программа (PG1), содержащая команды, которая при загрузке в процессор (SV) обеспечивает выполнение процессором способа формирования потока битов по п.4.
6. Обрабатывающий блок (SV), который содержит средство памяти (MEM) для хранения структуры данных (В2) по п.1 и средство памяти (MEM) для хранения программы (PG1), которая содержит команды для осуществления способа синтаксического анализа потока (В1) битов, основанного на упомянутой структуре данных, для формирования документа (В4) на языке разметки, который представляет упомянутый поток битов, который является экземпляром упомянутой структуры данных, и/или программы (PG2), которая содержит команды для осуществления способа формирования потока (В1) битов, основанного на упомянутой структуре (В2) данных и на документе (В4'), представляющем упомянутый поток битов, который является экземпляром упомянутой структуры данных.
7. Система передачи, содержащая, по меньшей мере, объект источника и, по меньшей мере, объект адресата, причем упомянутый объект источника содержит обрабатывающий блок (SV) по п.6.
RU2003128962/09A 2001-02-28 2002-02-08 Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе RU2294012C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0102764A FR2821458A1 (fr) 2001-02-28 2001-02-28 Schema, procede d'analyse syntaxique et procede de generation d'un flux binaire a partir d'un schema
FR0102764 2001-02-28

Publications (2)

Publication Number Publication Date
RU2003128962A RU2003128962A (ru) 2005-03-10
RU2294012C2 true RU2294012C2 (ru) 2007-02-20

Family

ID=8860580

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003128962/09A RU2294012C2 (ru) 2001-02-28 2002-02-08 Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе

Country Status (11)

Country Link
EP (1) EP1366439A1 (ru)
JP (1) JP4260481B2 (ru)
KR (1) KR100898614B1 (ru)
CN (1) CN100449530C (ru)
BR (1) BR0204315A (ru)
FR (1) FR2821458A1 (ru)
MX (1) MXPA02010534A (ru)
PL (1) PL363513A1 (ru)
RU (1) RU2294012C2 (ru)
TW (1) TW563036B (ru)
WO (1) WO2002069187A1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2527733C2 (ru) * 2009-04-14 2014-09-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф., Схема передачи данных с текстовой информацией
RU2762398C2 (ru) * 2019-12-03 2021-12-21 Владимир Дмитриевич Мазур Способ передачи двоичных данных в стандартном звуковом медиапотоке

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4040577B2 (ja) 2001-11-26 2008-01-30 コーニンクリク・フィリップス・エレクトロニクス・ナムローゼ・フエンノートシャップ スキーマ、構文解析法、およびスキーマに基づいてビットストリームを発生させる方法
ATE513415T1 (de) * 2001-12-28 2011-07-15 Koninkl Philips Electronics Nv Verfahren zur verarbeitung von multimediainhalt
CN1751308A (zh) * 2003-02-19 2006-03-22 皇家飞利浦电子股份有限公司 基于一般地描述比特流格式的模式的产生文档的方法
CN104598635B (zh) * 2015-02-06 2018-01-19 无锡江南计算技术研究所 一种基于xml描述的复杂文档自动生成方法
CN107092656B (zh) * 2017-03-23 2019-12-03 中国科学院计算技术研究所 一种树状结构数据处理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198582B1 (en) * 1998-06-24 2001-03-06 Seagate Technology Llc Efficient run length limited code with short interleaved constraint
RU2000124174A (ru) * 1998-12-21 2002-08-10 Конинклейке Филипс Электроникс Н.В. (Nl) Устройство для кодирования n-битовых исходных слов в соответствующие m-битовые канальные слова и декодирования m-битовых канальных слов в соответствующие n-битовые исходные слова

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE D. et al: "Comparative Analysis of Six XML Schema Languages" INTERNET ARTICLE, 'Online! XP002183403 Retrieved from the Internet: URL:http://citeseer.nj.nec.com/lee00compa rative. html 'retrieved on 2001-11-20! the whole document & LEE D. et al: "Comparative Analysis of Six XML Schema Languages" ACM SIGMOD RECORD, vol.29. no.3, September 2000, p.76-87, ISSN:0163-5808. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2527733C2 (ru) * 2009-04-14 2014-09-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф., Схема передачи данных с текстовой информацией
RU2762398C2 (ru) * 2019-12-03 2021-12-21 Владимир Дмитриевич Мазур Способ передачи двоичных данных в стандартном звуковом медиапотоке

Also Published As

Publication number Publication date
CN100449530C (zh) 2009-01-07
WO2002069187A1 (en) 2002-09-06
RU2003128962A (ru) 2005-03-10
BR0204315A (pt) 2003-02-18
KR20020092459A (ko) 2002-12-11
PL363513A1 (en) 2004-11-29
MXPA02010534A (es) 2003-09-22
JP2004519771A (ja) 2004-07-02
JP4260481B2 (ja) 2009-04-30
CN1462400A (zh) 2003-12-17
KR100898614B1 (ko) 2009-05-21
FR2821458A1 (fr) 2002-08-30
EP1366439A1 (en) 2003-12-03
TW563036B (en) 2003-11-21

Similar Documents

Publication Publication Date Title
US7080318B2 (en) Schema, syntactic analysis method and method of generating a bit stream based on a schema
US7043686B1 (en) Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus
US7886223B2 (en) Generating a statistical tree for encoding/decoding an XML document
JP2005538436A (ja) 構造化された文章、特にxml文章の符号化/復号化のための方法及び装置
US20050144556A1 (en) XML schema token extension for XML document compression
US20060117307A1 (en) XML parser
US8892991B2 (en) Encoder compiler, computer readable medium, and communication device
US7720969B2 (en) Description document for a service offered by a server in a communication network and method of validating a multimedia document
KR20020064941A (ko) Mpeg-7 인스턴스의 바이너리 포맷
US20090254882A1 (en) Methods and devices for iterative binary coding and decoding of xml type documents
KR19990066882A (ko) 구문 구조를 보존할 수 있는 마크업 언어를 사용한 문서 압축방법 및 장치
KR100893829B1 (ko) 포맷 개작을 이용한 오브젝트 전송 방법
US20020120652A1 (en) Two-stage mapping for application specific markup and binary encoding
RU2294012C2 (ru) Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе
US7814408B1 (en) Pre-computing and encoding techniques for an electronic document to improve run-time processing
US7296034B2 (en) Integrated support in an XML/XQuery database for web-based applications
US7797346B2 (en) Method for improving the functionality of the binary representation of MPEG-7 and other XML based content descriptions
KR100653189B1 (ko) 엑스엠엘 문서 변환 장치 및 그 방법
US20020120780A1 (en) Two-staged mapping for application specific markup and binary encoding
KR100968083B1 (ko) 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치
KR100494845B1 (ko) 확장성 생성 언어 기반의 메타데이터 부호화 장치 및 그방법
Butler Using capability classes to classify and match CC/PP and UAProf profiles
WO2007006090A1 (en) Systems and methods for use in transforming electronic information into a format
Ozden A Binary Encoding for Efficient XML Processing
JP2002259194A (ja) 文書データの符号処理方法及びシステム

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20140209