Способ кодирования данных, способ декодирования данных, кодер, декодер и кодек
Иллюстрации
Показать всеИзобретение относится к средствам кодирования и декодирования. Технический результат заключается в повышении эффективности кодирования/декодирования данных. Устанавливают соответствие одной или более части исходных данных с одним или более элементом в одной или более базе данных, при этом указанный один или более элемент представляет соответствующий один или более блок данных, и записывают опорные значения, которые связывают указанную одну или более часть исходных данных с указанным одним или более соответственным элементом. Включают опорные значения в кодированные данные совместно с указанной одной или более базой данных и/или информацией, идентифицирующей указанную одну или более базу данных. Принимают кодированные данные, включающие опорные значения и информацию об идентификаторах областей, а также информацию об одной или более базе данных. Декодируют опорные значения из кодированных данных. Извлекают один или более элемент из указанной одной или более базы данных согласно указанным опорным значениям, при этом указанный один или более элемент представляет один или более соответствующий блок данных. Формируют указанный один или более блок данных для сборки соответствующих декодированных данных для вывода. 7 н. и 23 з.п. ф-лы, 5 табл., 3 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к кодерам для кодирования исходных данных, например, данных захваченных изображений и/или аудиоданных, с формированием соответствующих кодированных данных; кроме того, настоящее изобретение относится к декодерам для декодирования указанных кодированных данных с формированием соответствующих декодированных данных, например, декодированных данных, представляющих указанные исходные данные; при этом указанные кодеры и декодеры выполнены с возможностью, например, использовать одну или более базу данных, которые включают информацию, обрабатываемую совместно с кодированными данными в декодерах, для формирования указанных декодированных данных; причем указанная одна или более база данных находится, например, в одном или более сервере данных. Дополнительно, настоящее изобретение касается способов кодирования исходных данных с формированием соответствующих кодированных данных; кроме того, настоящее изобретение касается способов декодирования указанных кодированных данных с формированием соответствующих декодированных данных, например, декодированных данных, представляющих исходные данные; при этом указанные способы включают, например, использование одной или более базы данных, которые включают информацию, обрабатываемую совместно с указанными кодированными данными, для формирования указанных декодированных данных. Также настоящее изобретение относится к программным продуктам, хранящимся на машиночитаемых носителях, при этом выполнение указанных программных продуктов осуществляют посредством вычислительных аппаратных средств для реализации вышеупомянутых способов.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Традиционно, кодирование исходных данных, например, посредством современного кодирования MPEG (Motion Pictures Experts Group, экспертная группа по вопросам движущегося изображения) данных захваченного изображения, включает обработку указанных исходных данных для преобразования исходных данных в кодированные данные путем применения одного или более преобразования к указанным исходным данным. Кроме того, декодирование кодированных данных включает обработку указанных кодированных данных для их преобразования в соответствующие декодированные данные, например, декодированные данные, представляющие исходные данные, путем применения к указанным кодированным данным одного или более обратного преобразования. Такое кодирование может быть применено для сжатия исходных данных, например, для уменьшения размера данных для их передачи или хранения на носителе данных; альтернативно или дополнительно, такое кодирование может быть использовано для повышения безопасности исходных данных при их передаче через среду передачи, например, через Интернет. Традиционной практикой является реализация таких кодеров и декодеров в виде автономных блоков обработки, например, встроенных в цифровые камеры, DVD-плееры и аналогичные потребительские продукты. Однако в настоящее время с ростом взаимосвязанности устройств обработки данных, более современной практикой стала разработка кодеров и декодеров, реализуемых с использованием программных продуктов, чтобы они могли быть реконфигурированы, например, для адаптации декодеров к возможности работы с кодированными данными, которые были кодированы с использованием недавно разработанных и модернизированных преобразований кодирования.
В опубликованном патенте США №4553171 описан способ цифровой печати цифрового изображения посредством ссылки на последовательность кодовых слов, представляющих блоки пикселей исходного изображения. Исходное изображение кодируют путем разделения его на блоки пикселей одинакового размера. Опционально, для каждого из блоков пикселей задают уникальный идентификатор, если он не идентичен любому из ранее сканированных блоков. Идентичные блоки пикселей заданы одним и тем же идентификатором. При печати исходного изображения, представленного вышеописанными блоками пикселей, которые представлены идентификаторами, выраженными в виде кодовых слов, указанные идентификаторы последовательно сканируют и соответствующие блоки пикселей последовательно сохраняют в буферной памяти для управления принтером, который формирует распечатку исходного изображения. Таким образом, исходное изображение печатают на основе данных, включающих идентификаторы, содержащие порядковые номера блоков, которые ссылаются на некоторую форму базы данных, в которой хранятся представления блоков пикселей.
В опубликованном патенте США №4013828 описан способ обработки изображения, в котором изображение сканируют и обрабатывают с помощью сглаживания с получением групп элементов изображения заранее заданного размера. Каждая группа элементов изображения соответствует соответствующей группе ячеек удаленно расположенного дисплея. Когда каждую группу элементов изображения сканируют, шаблон, представленный путем соотнесения битов сглаженного изображения с указанной группой элементов изображения, сравнивают с каталогом шаблонов, сохраненных в первой памяти. Если указанный шаблон отсутствует среди шаблонов, сохраненных в первой памяти, ему назначают соответствующее кодовое слово и вводят в память. Кроме того, как шаблон, так и его кодовое слово передают в удаленно расположенный дисплей, где их сохраняют во второй памяти; после этого получают доступ к указанной второй памяти и включают отдельные ячейки из группы ячеек, соответствующей сканированному изображению, в соответствии с шаблоном, сохраненным во второй памяти. Если сканированный шаблон является таким же, как уже сохраненный в первой памяти шаблон, в удаленное местоположение передают только кодовое слово, связанное с этим шаблоном, для уменьшения потока данных между первой памятью и второй памятью, то есть путем повторного использования данных, которые уже были переданы во вторую память. Однако указанный способ не осуществляет непосредственное сжатие потока данных в общепринятом смысле.
В опубликованном патенте Великобритании №2362055 описан способ кодирования изображения, который включает:
a) разделение изображения на блоки изображения;
b) кодирование блоков изображения таким образом, чтобы осуществлять сравнение указанных блоков изображения с уже существующими блоками в базе данных, и выбор существующего блока из базы данных, который является достаточно хорошим совпадением с одним из соответствующих блоков изображения; и
с) кодирование блоков изображения со ссылкой на коды, представляющие уже существующие блоки.
Указанный способ использует библиотеку кодов, то есть базу данных. Однако, вследствие того, что данные, связанные с элементами базы данных, не имеют какой-либо связи друг с другом, выполнение поиска соответствий в базе данных является сложным и требует значительных вычислительных ресурсов, поскольку размер базы данных увеличивается. Наоборот, если база данных мала, совпадение блоков изображения с уже существующими блоками в базе данных невелико, вследствие чего изображение с достаточной степенью качества не может быть создано на основе кодированных данных, сформированных с использованием указанного способа. Однако указанный способ включает создание новых элементов, если достаточно хорошие совпадения не найдены, при этом указанный новый элемент передают совместно с опорным значением, которое его идентифицирует.
Использование цифровых данных, например, видео, изображений, графики и аудио, стремительно возрастает с каждым годом. Вследствие этого, количество сохраняемых и передаваемых данных также быстро увеличивается со временем. Кроме того, такое увеличение сохраняемых и передаваемых данных требует значительно большего увеличения ресурсов для аппаратных средств, например, больше электрической мощности, потребляемой для обеспечения большей производительности обработки, и большей полосы пропускания при передаче. Генератор изображений, описанный в опубликованной заявке на патент США №2010/322,301 (заявитель Gurulogic Microsystems Oy), обеспечивает техническое решение, направленное на то, как сохранить байты и генерировать различные изображения посредством использования базы данных. Однако имеется необходимость в кодере и соответствующем декодере, основанном на использовании усовершенствованной базы данных и выполненном с возможностью доставки баз данных различных типов более эффективным способом, для использования со всеми видами цифровых данных, например, изображениями, видео, графикой и аудиоконтентом.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает улучшенный способ кодирования исходных данных, например, данных захваченных изображений, аудиоданных и тому подобного, с формированием соответствующих кодированных выходных данных, а также кодер, выполненный с возможностью осуществления указанного способа кодирования исходных данных.
Кроме того, настоящее изобретение также обеспечивает улучшенный способ декодирования кодированных данных с формированием соответствующих декодированных выходных данных.
Согласно первому аспекту, предложен способ в соответствии с п.1 приложенной формулы изобретения; предложен способ кодирования исходных данных с формированием соответствующих кодированных данных для передачи или хранения, при этом указанные исходные данные включают по меньшей мере одно из следующего: аудиоданные, данные изображений, видеоданные, графические данные, многомерные данные, данные измерений, характеризующийся тем, что указанный способ включает:
a) установление соответствия одной или более части исходных данных с одним или более элементом (Е) в одной или более базе данных, при этом указанный один или более элемент (Е) представляет соответствующий один или более блок данных, и запись опорных значений (R), которые связывают указанную одну или более часть исходных данных с указанным одним или более соответственным элементом (Е); и
b) включение указанных опорных значений (R) в кодированные данные совместно с указанной одной или более базой данных и/или информацией, идентифицирующей указанную одну или более базу данных,
при этом указанный способ дополнительно включает:
c) разделение исходных данных на области, имеющие уникальный идентификатор (U) области;
d) взятие зависящих от областей выборок из указанных областей и вычисление соответствующих опорных значений (R) на основе указанных выборок; и
e) проверку, были ли уже переданы или сохранены в указанной одной или более базе данных указанные опорные значения (R), полученные в результате вычислений, примененных к исходным данным, и сохранение и/или передачу указанных опорных значений (R) или опорных значений (R) в сжатом состоянии для однозначной идентификации элементов (Е) в указанных кодированных данных или сохранение и/или передачу указанных кодированных и/или исходных данных в указанных кодированных данных и, опционально, сохранение в качестве нового элемента (Е) в указанной одной или более базе данных в случае, если указанные опорные значения (R) не были ранее сохранены в указанной одной или более базе данных.
Преимущество настоящего изобретения состоит в том, что предложенный кодек выполнен с возможностью получения декодированного видео, изображений, графики и аудиоконтента высшего качества при использовании меньшего количества передаваемых битов данных в сравнении с известными современными кодеками.
Упомянутый на шаге с) уникальный идентификатор (U) области однозначно описывает размер, форму и расположение блока данных. Указанный размер опционально является фиксированным размером, например, 32 значения данных, 8x8 значений данных, или размер опционально зависит от типа содержимого данных, например, блока данных за блоком данных. Идентификаторы (U) областей или информация об идентификаторах (U) областей опционально доставляются или опционально заранее заданы.
Относительно взятия выборки, упомянутого на шаге d), необходимо отметить, что опционально возможно использовать все выборки данных при вычислении опорного значения (R) или только часть из них. Кроме того, опционально возможно использовать только часть выборок, что тем самым обеспечивает более высокие производительность (и точность в соответствующей области выбранных выборок. Также опционально возможно использовать взвешивание выборок при вычислении опорного значения (R) для обеспечения одного или более требуемого преимущества по сравнению с одинаковыми весами. Применяемый способ выборки может быть выбран в зависимости от необходимости в отдельном заданном случае, например, для повышения надежности или улучшения характеристик данных.
Опорные значения (R) опционально формируются следующим образом:
I) возможно вычислять несколько значений данных для блока/пакета; одно из них может быть, например, опорным значением, вычисленным на основе значений данных всего блока/пакета, и дополнительно одно или более опорное значение, вычисленное на основе значений данных субблоков/пакетов;
II) опорное значение элемента может состоять из множества частей, таких как амплитуда, стандартное отклонение, среднее значение, минимальное значение, максимальное значение, хэш, индекс и т.д.; и
III) опорные значения могут быть вычислены с различной точностью, например, как функция пространственных деталей, представленных в кодируемых данных.
Опционально указанный способ включает применение одной или более базы данных с нулевым средним для реализации указанной одной или более базы данных. Базы данных с нулевым средним используют одно или более транслированное или преобразованное значение данных, которые задействуют меньший объем памяти данных в сравнении с соответствующими значениями данных до их транслирования или преобразования. Например, базу данных с нулевым средним формируют путем вычисления среднего значения всех значений данных в заданном элементе базы данных и последующего вычитания указанного среднего значения из значений данных, так чтобы транслированные или преобразованные значения данных изменялись относительно нулевого значения. Такие одна или более база данных с нулевым средним потенциально меньше по размеру и более эффективно сжаты при возникновении необходимости их передачи по сети связи. Опционально, элемент базы данных с нулевым средним очень редко является нулевым средним. Однако, имеется еще элемент базы данных, в котором либо путем его увеличения на единицу, либо путем его уменьшения на единицу можно получить новое среднее значение, которое дальше от нуля, чем указанное среднее значение этого элемента базы данных, или по меньшей мере так же далеко от нуля как указанное среднее значение этого элемента базы данных. Основанием для этого является следующее: указанное среднее значение исходного заданного блока данных часто не является целым числом, а вместо этого является действительным числом, то есть числом с плавающей точкой, и, следовательно, если указанную целую часть вычитают из указанного среднего значения, то есть из всех значений данных указанного элемента, то указанная дробная часть будет либо в диапазоне (-0.5…0.5], либо в диапазоне [-0.5…0.5).
Назначением нулевого среднего является сохранение пространства, то есть использования памяти, в одной или более базе данных, но не для передачи данных. На практике, размер данных для отдельного блока увеличивается при использовании среднего нулевого, поскольку вместо исходного динамического диапазона необходим один дополнительный бит для представления средних нулевых значений, так как знаковый разряд в таком случае необходим для каждого значения элемента. Необходимость в использовании фактического знакового разряда может быть устранена в хранилище базы данных путем использования заранее заданного опорного значения с элементом базы данных с нулевым средним. Динамический диапазон значений элементов базы данных также может быть уменьшен путем квантования, при котором будет потеряна часть информации. Кроме того, для динамического сжатия могут быть использованы таблицы поиска, но такой подход также приводит к потере информации. Однако при использовании элементов с нулевым средним отсутствует необходимость во введении новых элементов в базу данных при изменении среднего значения, вместо этого может быть повторно использован тот же самый элемент и, таким образом, один элемент подходит для всех средних значений в рассматриваемом динамическом диапазоне. Если осуществляют передачу самой базы данных, то необходимо передать только один элемент вместо, например, 256 элементов (в 8-битовом динамическом диапазоне); то есть, изменение среднего значения опорного значения не вводит новые элементы в базу данных, но вместо этого указанное среднее значение используется совместно с указанным элементом в базе данных для формирования конечного блока данных.
Опционально, указанные одна или более база данных находится в одном или более сервере, например одном или более сервере, принадлежащем третьей стороне, например, одному или более поставщику услуг. Кроме того, опционально, использование указанной одной или более базы данных должно быть оплачено, например, посредством платы за подписку и/или платы за использование, для получения доступа к указанной одной или более базе данных.
Опционально, при осуществлении указанного способа указанная одна или более база данных включает одну или более статическую базу данных и/или одну или более динамическую базу данных.
Опорное значение (R) состоит из значений, которые были вычислены на основе выборок данных, но оно может содержать также другие части. Кроме того, опорное значение фактически является неточным понятием. Другими словами, опорные значения вычисляют для осуществления быстрого поиска, и, следовательно, может быть большое количество опорных значений и их точность также может быть очень большой или, альтернативно, маленькой.
Однако, что касается передаваемого опорного значения (R), оно относится к значению, которое идентифицирует рассматриваемый блок между кодером и декодером в отдельности, и сохранение элементов в базе данных основывается на этом передаваемом опорном значении (R). Для статической базы данных, передаваемое опорное значение (R) обычно содержит несколько квантованных, или более точных, опорных значений (R), которые были использованы при поиске, и часто также некоторое значение, которое относится к порядковому номеру. Для динамической базы данных, передаваемое опорное значение (R) обычно представляет собой только значение, которое описывает порядок формирования данного элемента и вероятность его наличия.
Статическую базу данных обычно не модифицируют и, таким образом, передаваемое опорное значение (R) всегда является одним и тем же для каждого элемента (Е) как в кодере, так и в декодере. С другой стороны, динамическая база данных может изменяться непрерывно; поскольку некоторый элемент (Е) становится более вероятным, его опорное значение (R) опционально непрерывно уменьшается, так что оно может быть сжато более эффективно. Однако необходимо понимать, что даже динамическое передаваемое опорное значение (R) опционально содержит части, которые связаны с выборками блока, но они не являются обязательными.
Однако, что касается поиска для динамического элемента (Е), опционально это может быть дополнительно ускорено посредством использования соответствующих опорных значений (R), которые были сформированы из выборок блока, сохраненного с хорошей точностью, для каждого элемента (Е). Поиск в динамической базе данных также опционально ускоряют путем сохранения элементов (Е) в порядке их вероятности, и, следовательно, элемент (Е), который встречается часто, находят быстрее. Также необходимо отметить, что, поскольку передаваемое опорное значение (R) статической базы данных содержит вышеупомянутую часть, которая относится к порядковому номеру, эта часть, особенно если ее длина составляет несколько битов, также опционально используется динамически, если это необходимо, также как и вышеупомянутое передаваемое опорное значение (R) динамической базы данных.
Однако этот вид динамики в заданной статической базе данных часто не является желательным, поскольку в таком случае полный поток данных должен будет быть кодирован от его начала до положения используемого бита, пока не будет гарантировано, к какому элементу происходит обращение в каком-либо заданном случае. Следовательно, будет потеряно одно очень важное преимущество статической базы данных, а именно, то, что она является однозначной и явно заданной. Потенциально достигается немного более высокая степень сжатия, но одновременно будет потерян соответствующий свободный «прыжок» при декодировании данных, который достигается посредством динамической части опорного значения (R).
Ввиду этого, опционально использование динамической базы данных предпочтительно ограничено по времени, в таком случае вышеупомянутые «прыжки» в данных могут быть выполнены так, чтобы декодирование возобновлялось в точке возврата в исходное положение динамической базы данных. Вторым важным преимуществом статической базы данных является то, что она всегда известна до инициирования кодирования и, следовательно, ее элементы (Е) часто не нужно передавать ни в декодер, ни в кодер. Другими словами, имеются опорные значения (R), квантованные опорные значения (R), порядковые числа и передаваемые опорные значения (R) (а именно, индексы), которые состоят из комбинации вышеперечисленного и которые ссылаются на один уникальный элемент (Е) в базе данных.
Таким образом, при выполнении поиска в кодере могут использоваться все более и более точные опорные значения (R), чем значения, которые были переданы из кодера в файл или в декодер. Также для кодера предпочтительно для каждой базы данных сохранять набор опорных значений (R), который является настолько большим и настолько точным, насколько это возможно, так чтобы гарантировать, что поиск будет быстрым и точным, то есть будет необходимо только несколько проверок, но, тем не менее, редко будет пропущен лучший элемент (Е).
Опционально, указанный способ использует по меньшей мере одно из следующего:
a) формирование указанной одной или более статической базы данных путем выбора элементов из одной или более динамической базы данных;
b) обработку информации, представленной в указанной одной или более части исходных данных, с формированием одного или более элемента (Е) для включения в указанную одну или более динамическую базу данных; и
c) выбор элементов (Е) из одной или большего количества более ранних баз данных и включение их в указанную одну или более динамическую базу данных для использования с указанными кодированными данными.
Кроме того, настоящее изобретение обеспечивает преимущество, которое заключается в уменьшенном размере данных при хранении данных, например, в памяти данных, на носителе данных или тому подобном, что обеспечивает экономию вычислительных ресурсов, потребления электрической мощности и времени загрузки данных.
Кроме того, опционально, в указанном способе поставщики услуг Интернет (Internet Service Provider, ISP) по всему миру могут предоставить более быстрые серверы статических баз данных в клиентских локальных сетях (Local Area Network, LAN), тем самым обеспечивая достижение более эффективной передачи данных, поскольку при работе передают только относительно небольшое количество новых блоков данных, и в заданной сети LAN принимают опорные блоки данных существующей базы данных от сервера статической базы данных. Опционально, указанный способ реализуют в кодере, который связан посредством сети связи с указанной одной или более базой данных. Кроме того, опционально, по меньшей мере одна из указанной одной или более базы данных находится в локальной сети (LAN) сети связи, аналогичной локальной сети кодера. Опционально, указанные одна или более базы данных размещены в одном или более сервере данных. Например, сервер базы данных опционально реализуют так, чтобы он был расположен пространственно близко к кодеку, осуществляющему выполнение способа, например, в памяти, расположенной пространственно рядом с ним.
Опционально, в указанном способе опорные значения (R) включают множество частей, которые кодируют по отдельности для включения в кодированные данные. Кроме того, опционально, в указанном способе одну или более из указанных множества частей объединяют перед кодированием для включения в кодированные данные. Опционально, указанное множество частей относится к характеристикам дисперсии V, среднего значения М и амплитуды А одного или более блока данных, к которым получен доступ путем использования опорного значения (R).
Опционально, вместо дисперсии V может быть использовано стандартное отклонение, и, кроме того, опционально, в качестве новых опорных значений (R) используются минимальное значение, максимальное значение, мода и медиана. Что касается минимального значения, максимального значения и амплитуды, только два из них являются опционально необходимыми; третье значение может быть предпочтительно вычислено на основе двух остальных значений. Кроме того, различные значения хэш-функции и значения CRC (Cyclic Redundancy Check, циклический контроль по избыточности) также являются допустимыми опорными значениями (R), когда осуществляют поиск подходящего совпадения или когда есть необходимость различить друг от друга блоки, имеющие в противном случае одинаковые опорные значения (R), в комбинации блоков иным образом, чем путем использования порядкового номера. Такой подход является предпочтительным, поскольку значения случайных данных и CRC могут быть вычислены на основе данных заданного блока данных и, следовательно, они не зависят от порядка передачи.
Опционально, все значения могут использоваться при поиске, причем с высокой точностью, но если передают опорные значения (R) или сохраняют элементы (Е) в базе данных, то выбирают конкретные опорные значения (0-n элементов) с конкретной точностью и опционально также выбирают разделы или части, которые связаны с порядковым номером и которые явно и однозначно идентифицируют сохраненные в базе данных элементы и их значения данных.
Точность и количество параметров передаваемого опорного значения (R) также могут зависеть от параметра качества (Q). Например, опорное значение (R), передаваемое из статической базы данных с хорошим качеством, будет содержать 8-битовое среднее значение, 8-битовое значение стандартного отклонения, 6-битовое значение амплитуды, 6-битовое минимальное значение и 8-битовый порядковый номер, тогда как для опорного значения (R), передаваемого из статической базы данных с низким качеством, опционально будет достаточно 7-битового среднего значения, 7-битового значения стандартного отклонения, 5-битового значения амплитуды и 4-битового порядкового номера.
Что касается динамической базы данных, опорное значение (R), передаваемое из динамической базы данных с хорошим качеством, опционально включает порядковое число, выраженное, например, 18 битами, и с низким качеством, например, 10 битов было бы достаточно. Сохраненные опорные значения (R) и опорные значения (R), используемые при поиске, например, опционально выражаются 16 битами для их среднего значения и для стандартного отклонения, и, совместно с информацией, описывающей динамику данных, например, 8 битами для амплитуды, минимального значения, максимального значения, моды и медианы. Кроме того, необходимо понимать, что все опорные значения (R), которые зависят от данных, опционально вычисляют на основе выборок декодированного блока данных, например, как в кодере, так и в декодере, и, следовательно, и кодер, и декодер всегда могут вычислить их с одинаковой точностью и с требуемой для них самих точностью.
В кодере необходима полная точность для выполнения быстрого поиска и, кроме того, в кодере и декодере необходимо даже, чтобы эти значения уже были вычислены, по меньшей мере с точностью, необходимой для передачи, так что элементы (Е) базы данных могут быть сохранены в правильном адресе базы данных для дальнейшего использования, как указано передаваемым опорным значением (R). Необходимо также понимать, что квантование и сжатие опорного значения (R) представляют собой различные понятия, хотя оба будут обеспечивать уменьшение количества кодированных данных. Однако сжатие является обратимым, в то время как квантование приводит к потере информации требуемым образом, чтобы сделать указанное значение более легким для использования, например, явно уменьшает размер базы данных и количества передаваемых данных.
Опционально, в указанном способе указанные опорные значения (R) включают информацию для направления поиска соответствующего одного или более элемента (Е) в указанной одной или более базе данных.
Опционально, в указанном способе указанные элементы (Е) включают один или более параметр, на основе которого посредством интерполяции может быть вычислен один или более соответствующий блок данных. Дополнительно или альтернативно к интерполяции опционально используют другие вычисления, например, децимацию, экстраполяцию и обрезку. Такие вычисления относятся ко всем таким элементам (Е), которые могут быть использованы посредством масштабирования вверх или вниз, или посредством увеличения значений в более крупные блоки, или путем использования только меньших разделов указанного элемента. Для экстраполяции и обрезки дополнительно требуется также бит информации, указывающий, где будет иметь место экстраполяция и в какой части блока должна быть выполнена обрезка, а интерполяция и децимация могут функционировать автоматически в соответствии с соотношением между размером декодируемого блока и размером блока элемента (Е) базы данных. Опционально, указанные способы интерполяции и децимации могут быть сохранены и/или переданы в кодированных данных или могут быть заранее выбраны.
Опционально, в указанном способе указанную одну или более динамическую базу данных формируют на ограниченное время, после чего их удаляют.
Опционально, указанный способ включает реструктурирование одной или более базы данных как функции частоты доступа к элементам (Е) в базах данных для более быстрого представления более часто используемых элементов (Е) для получения доступа с использованием опорных значений (R).
Опционально, в указанном способе элементы (Е) указанной одной или более динамической базы данных формируют, если совпадения указанной одной или более части исходных данных с одним или более элементом (Е) в указанной одной или более статической базе данных не могут быть обнаружены или элементы (Е) используют слишком много битов в их передаваемом опорном значении (значениях) (R).
Опционально, в указанном способе установление соответствия указанной одной или более части исходных данных с одним или более элементом (Е) указанной одной или более базы данных осуществляют в пределах порога качества, который динамически изменяется во время формирования опорных значений (R).
Опционально, в указанном способе указанное одно или более опорное значение (R) используют для восстановления одной или более соответствующей части исходных данных с использованием одного или более элемента (Е), заданного указанным одним или более опорным значением (R), при этом определяют ошибки между указанной восстановленной одной или более частью и соответствующей исходной одной или более частью в исходных данных, а также кодируют указанные ошибки и включают их в кодированные данные.
Опционально, в указанном способе указанный один или более блок данных, соответствующий указанному одному или более элементу (Е), является по меньшей мере одним из следующего: одномерными (1-D), двумерными (2-D), трехмерными(3-D), многоугольными при визуальном отображении, прямоугольными при визуальном отображении, эллиптическими при визуальном отображении, круговыми при визуальном отображении, удлиненными при визуальном отображении, треугольными при визуальном отображении.
Опционально, в указанном способе один или более элемент (Е) первой базы данных ссылается на один или более элемент (Е), представленный в одной или более другой базе данных из указанной одной или более базы данных. Другими словами, элемент (Е) в первой базе данных может ссылаться на элемент (Е) во второй базе данных, из которой извлечен соответствующий блок данных.
Опционально, в указанном способе одно или более опорное значение (R), включенное в кодированные данные, представлено в сжатом виде.
Опционально, в указанном способе указанную одну или более базу данных выбирают и/или изменяют в размере в зависимости от характера содержимого, представленного в исходных данных.
Согласно второму аспекту предложен кодер для кодирования исходных данных с формированием соответствующих кодированных данных (30), характеризующийся тем, что указанный кодер включает:
а) первые аппаратные средства обработки данных для установления соответствия одной или более части исходных данных с одним или более элементом (Е) в одной или более базе данных, при этом указанный один или более элемент (Е) представляет соответствующий один или более блок данных, и для записи опорных значений (R), которые связывают указанную одну или более часть исходных данных с указанным одним или более соответственным элементом (Е); и
b) вторые аппаратные средства обработки данных для включения указанных опорных значений (R) в кодированные данные совместно с указанной одной или более базой данных и/или информацией, идентифицирующей указанную одну или более базу данных;
при этом указанные исходные данные включают по меньшей мере одно из следующего: аудиоданные, данные изображений, видеоданные, графические данные, многомерные данные, данные измерений;
при этом кодер выполнен с возможностью:
c) приема исходных данных в виде одного или более блока данных, разделения указанного одного или более блока данных на области, имеющие уникальный идентификатор (U) области;
d) взятия зависящих от областей выборок из указанных областей указанного одного или более блока данных и вычисления соответствующих опорных значений (R) на основе указанных выборок; и
e) проверки, были ли уже переданы или сохранены в указанной одной или более базе данных указанные опорные значения (R), полученные в результате вычислений, примененных к указанному одному или более блоку данных, и сохранения и/или передачи вычисленных опорных значений (R) или сжатых опорных значений для однозначной идентификации элементов (Е) в указанных кодированных данных или сохранения и/или передачи указанных кодированных и/или исходных данных в указанных кодированных данных, и, опционально, сохранения в качестве нового элемента (Е) в указанной одной или более базе данных в случае, если указанные опорные значения (R) не были ранее сохранены в указанной одной или более базе данных.
Опционально, в кодере указанная одна или более база данных включает одну или более статическую базу данных и/или одну или более динамическую базу данных.
Опционально, указанный кодер использует по меньшей мере одно из следующего:
а) формирование указанной одной или более статической базы данных путем выбора элементов из одной или более динамической базы данных;
b) обработку информации, представленной в указанной одной или более части исходных данных, с формированием одного или более элемента (Е) для включения в указанные одну или более динамическую базу данных; и
c) выбор элементов (Е) из одной или большего количества более ранних баз данных и включение их в указанную одну или более динамические базу данных для использования с указанными кодированными данными.
Опционально, кодер связан посредством сети связи с указанной одной или более базой данных, при этом по меньшей мере одна из указанной одной или более базы данных находится в локальной сети (LAN, local area network) сети связи, аналогичной локальной сети кодера. Опционально, указанная одна или более база данных реализована с использованием одного или более сервера данных.
Кроме того, опционально, в указанном кодере указанные первые аппаратные средства обработки данных вып