Способ кодирования, кодер, программный продукт и программное приложение для мобильного устройства беспроводной связи

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ

Настоящее изобретение относится к кодерам для приема входных данных и кодирования указанных входных данных с формированием кодированных выходных данных. Кроме того, настоящее изобретение также относится к способам кодирования входных данных с формированием соответствующих кодированных выходных данных. Также настоящее изобретение относится к программным продуктам, хранящимся на машиночитаемых носителях, при этом выполнение указанных программных продуктов осуществляют посредством вычислительных аппаратных средств для реализации вышеупомянутых способов.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

В современном обществе в возрастающей степени осуществляется хранение данных, например, мультимедийного контента, и обмен им посредством Интернета и беспроводных сетей связи; при этом такой мультимедийный контент часто включает, например, изображения, видео- и аудиоданные, но не ограничивается перечисленным. Хранение и обмен данными осуществляется между устройствами, программными приложениями, мультимедийными системами и службами данных. Во время такого хранения и обмена данными возникают ситуации, при которых осуществляют захват изображений и видеоданных, а также их сканирование, передачу, совместное использование, просмотр и печать. Однако обмен такими изображениями и видеоданными зависит от используемого объема памяти данных и ширины полосы пропускания системы связи. Если ширина полосы пропускания системы связи ограничена, для обмена такими изображениями и видеоданными требуется значительное время. Для удовлетворения таких требований к хранению обычной практикой является использование способов кодирования изображений и видеоданных, которые также обеспечивают сжатие данных. В таблице 1 представлены некоторые современные стандарты кодирования для изображений и видеоданных.

Таблица 1
Современные стандарты кодирования
JPEG MPEG-1 H.261 WebP Lucid
JPEG2000 MPEG-2 H.263 WebM GIF
JPEG XR MPEG-4 H.264 PNG
MPEG-4 AVC HEVC TIFF
MPEG-4 MVC BMP
MP3 VC-1
Theora
AAC
FLAC
Ogg Vorbis
Speex

Размер файлов изображений и аудиоданных увеличивается, поскольку качество изображений значительно улучшается, например, путем применения стандартов высокой четкости (high definition, HD) и использования широкого динамического диапазона (high dynamic range, HDR). Однако трехмерные (3-dimensional, 3D) изображения, видео- и аудиоданные приобретают увеличивающуюся популярность, что требует, соответственно, более эффективных способов кодирования и декодирования в кодерах и декодерах, то есть «кодеках», чтобы справиться с соответствующим увеличившимся количеством данных, которые должны быть переданы и сохранены. Однако крайне необходимым является, чтобы способы кодирования, обеспечивающие сжатие данных, по существу не имели потерь в отношении информационного контента при формировании сжатых данных.

Стандартные кодеки описаны в ранее опубликованных заявках на патент и выданных патентах, например, в указанных в таблице 2.

Таблица 2
Предшествующая литература, в которой описаны кодеки.
Предшествующие патенты или заявки на патенты Примечание
US 5832130
U S7379496
GB 2274754 A1 Samsung Electronics Co. Ltd.
US 6529634 A1 Thyagarajan
US 7676101
US 2006/0204115 A1 Berazerovic: применение одного типа кодирования с различными параметрами для кодированных блоков

В общем, многие известные видеокодеки не могут эффективно кодировать протяженные области изображений по существу с постоянными параметрами, хотя могут одновременно кодировать пространственно высокодетализированные области изображений. Обычной практикой является применение компенсации движения в форме предсказания и способов кодирования ошибок предсказания на основе использования преобразований, например, дискретного косинусного преобразования (discrete cosine transform, DCT) и вейвлет-преобразований. Эти преобразования используют процесс, при котором части заданного изображения, например, неподвижного изображения или изображения, формирующего часть видеопоследовательности, разделяют на блоки, которые затем подвергаются процессам кодирования. Такие блоки представляют собой, например, элементы изображения 8×8, элементы изображения 4×4 или тому подобное. Применяют такие относительно небольшие блоки, поскольку большие размеры блоков приводят к неэффективным процессам кодирования, хотя иногда используют блоки элементов изображений 16×16. В соответствии с известными современными подходами к кодированию изображений, если для кодирования используют множество блоков различного размера, обычной практикой является использование небольшого разброса размеров блоков; кроме того, размеры блоков выбирают на основе того, насколько хорошо может быть компенсировано движение в соответствующей области блока, или на основе параметра качества кодирования, например, параметра целевого качества. В общем, для обеспечения более высокого качества кодированных изображений требуется меньший размер блоков, что приводит к меньшему сжатию данных. Некоторые типы современного кодирования могут даже привести к увеличению размера данных, если включены функции коррекции ошибок, такие как коды контроля по четности и коды коррекции ошибок.

В соответствии с вышесказанным, необходимо понимать, что обеспечение сжатия данных изображений и видео при сохранении качества изображений является современной проблемой, которая не может быть в достаточной мере решена известными кодерами и декодерами, несмотря на большое разнообразие кодеков, разработанных в течение последних десятилетий.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

В соответствии с настоящим изобретением предложен кодер для кодирования входных данных, представляющих по меньшей мере один элемент контента, и для формирования соответствующих кодированных выходных данных, представляющих указанный по меньшей мере один элемент контента, при этом указанные кодированные выходные данные сжаты по отношению к указанным входным данным без существенной потери качества, возникающей во время декодирования; при этом данные опционально представляют собой данные любого типа, например, по меньшей мере одно из следующего: данные изображения, видеоданные, аудиоданные, экономические данные, данные маскирования, сейсмографические данные, данные аналого-цифрового преобразования (ADC), данные биомедицинских сигналов, данные текстур, календарные данные, математические данные, двоичные данные, но не ограничиваются перечисленным.

В соответствии с настоящим изобретением также предложен способ кодирования входных данных, представляющих по меньшей мере один элемент контента, и формирования соответствующих кодированных выходных данных, представляющих указанный по меньшей мере один элемент контента, при этом указанные кодированные выходные данные сжаты по отношению к указанным входным данным без существенной потери качества, возникающей во время декодирования.

Согласно первому аспекту, предложен способ кодирования входных данных с формированием соответствующих кодированных выходных данных согласно п.1 приложенной формулы изобретения: предложен способ кодирования входных данных с формированием соответствующих выходных данных, характеризующийся тем, что указанный способ включает следующие шаги:

a) разделение указанных входных данных на множество блоков или пакетов, размер которых зависит от характера их содержимого, при этом указанные блоки или пакеты имеют один или более размеров;

b) применение множества преобразований к содержимому указанных блоков или пакетов с формированием соответствующих преобразованных данных;

c) проверку качества представления указанных преобразованных данных блоков или пакетов по сравнению с содержимым указанных блоков или пакетов перед применением указанных преобразований для определения того, удовлетворяет ли качество представления указанных преобразованных данных одному или более критериям качества;

d) в случае если качество представления указанных преобразованных данных указанного одного или более блоков или пакетов не удовлетворяет указанному одному или более критериям качества, дополнительное разделение и/или объединение указанного одного или более блоков или пакетов и повторение шага (b) и

e) в случае если качество представления указанных преобразованных данных указанного одного или более блоков или пакетов удовлетворяет указанному одному или более критериям качества, вывод указанных преобразованных данных для предоставления кодированных выходных данных, представляющих указанные входные данные.

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

Опционально, указанный способ включает использование указанных преобразований для сжатия содержимого, связанного с указанными блоками или пакетами, так чтобы указанные кодированные выходные данные были меньше по размеру, чем указанные входные данные.

Опционально, способ включает выбор различных типов преобразований для обеспечения удовлетворения указанным одному или более критериям качества.

Опционально, указанный способ включает обеспечение динамического изменения указанного одного или более критериев качества во время кодирования указанных блоков или пакетов в зависимости от характера содержимого, включенного в указанные блоки или пакеты.

Опционально, указанный способ реализован так, что указанные блоки или пакеты разделяют и/или объедяют так, чтобы по меньшей мере один из представляющих их параметров, которые описывают содержимое указанных блоков или пакетов, являлся постоянным в пределах разделенных и/или объединенных блоков или пакетов. Указанный по меньшей мере один параметр, представляющий указанные блоки или пакеты, является, например, цветом, амплитудой, интенсивностью, количеством или кодом.

Опционально, указанный способ реализован так, что указанные блоки или пакеты представляют собой последовательности данных, при этом разделение указанных входных данных, соответствующих заданной информации, с формированием множества соответствующих блоков осуществляют в зависимости от содержимого, представленного в одних или более данных перед заданной информацией в указанной временной последовательности данных.

Опционально, указанный способ включает добавление к указанным преобразованным данным информации о заголовке на шаге e) с формированием кодированных выходных данных, при этом указанная информация о заголовке включает информацию, указывающую на преобразования, примененные на шаге b).

Опционально, указанный способ реализован так, что шаг b) включает извлечение дополнительной информации из базы данных для использования при выполнении указанных преобразований, при этом указанная дополнительная информация включает по меньшей мере одно из следующего: алгоритмы, правила, один или более параметров преобразования. Кроме того, указанный способ опционально включает добавление к указанным кодированным выходным данным информации о заголовке, указывающей на базу данных для обеспечения последующего декодирования указанных кодированных выходных данных, для предоставления доступа к указанной дополнительной информации при декодировании указанных кодированных выходных данных.

Опционально, указанный способ включает использование для указанных преобразований одного или более из следующего: ссылки на базу данных, значения постоянной составляющей, изменения, масштабирования, линейного, многоуровневого, неизменяемого кодирования, интерполяции, экстраполяции, дискретного косинусного преобразования (DCT), импульсно-кодовой модуляции (PCM), дифференциальной импульсно-кодовой модуляции (DPCM), кодирования длин серий (RLE), скользящего кодирования длин серий (SRLE), модификатора энтропии (EM), кодирования на основе преобразования Лемпеля-Зива (LZO), кодирования с переменной длиной (VLC), кодирования Хаффмана, арифметического кодирования, диапазонного кодирования, кодирования с преобразованием, дельта-кодирования, кодирования ODelta, кодирования длин серий для bzip2. Для использования в указанном способе также подходят другие типы преобразований.

Опционально, указанный способ включает кодирование по меньшей мере одного из следующего: видео, изображения, звука, графики, текста, электрокардиограммы, сейсмической информации, символов ASCII, символов Юникод и двоичной информации, представленной во входных данных.

Опционально, указанный способ включает кодирование множества каналов и/или уровней в указанных кодированных выходных данных для предоставления по меньшей мере одного из следующего: интерактивного видео, коммерческой рекламы, множества точек просмотра во время репортажа о спортивном событии, интерактивных водяных знаков, интерактивного распознавания образов, анимированных 2D/3D-кнопок пользовательского интерфейса.

Опционально, указанный способ включает передачу указанных кодированных данных по меньшей мере в одно из следующих мест назначения: устройство хранения данных, сеть связи, карту памяти, диски для хранения данных, локальные сети связи (LAN), непосредственно в декодер.

Опционально, шаг a) указанного способа включает первоначальное разбиение указанных входных данных (20) на один или более блоков на основе по меньшей мере одного из следующего:

a) разрешения изображений;

b) количества данных и

c) максимального размера блока или пакета.

В соответствии со вторым аспектом, предложен программный продукт, хранящийся на машиночитаемом носителе, при этом выполнение указанного программного продукта посредством вычислительных аппаратных средств обеспечивает выполнение способа в соответствии с первым аспектом настоящего изобретения.

В соответствии с третьим аспектом, предложено программное приложение для мобильного устройства беспроводной связи, причем указанное программное приложение содержит программный продукт в соответствии со вторым аспектом настоящего изобретения.

В соответствии с четвертым аспектом, предложен кодер для кодирования входных данных с формированием соответствующих кодированных выходных данных, характеризующийся тем, что указанный кодер содержит аппаратные средства для обработки данных, которые осуществляют:

a) разделение указанных входных данных на множество блоков или пакетов, размер которых зависит от характера их содержимого, при этом указанные блоки или пакеты имеют один или более размеров;

b) применение множества преобразований к содержимому указанных блоков или пакетов с формированием соответствующих преобразованных данных;

c) проверку качества представления указанных преобразованных данных блоков или пакетов по сравнению с содержимым указанных блоков или пакетов перед применением указанных преобразований для определения того, удовлетворяет ли качество представления указанных преобразованных данных одному или более критериям качества;

d) в случае если качество представления указанных преобразованных данных указанного одного или более блоков или пакетов не удовлетворяет указанному одному или более критериям качества, дополнительное разделение и/или объединение указанного одного или более блоков или пакетов, если это улучшает эффективность сжатия и не ухудшает восстановление значительно, и повторение шага (b) и

e) в случае если качество представления указанных преобразованных данных указанного одного или более блоков или пакетов удовлетворяет указанному одному или более критериям качества, вывод указанных преобразованных данных для предоставления указанных кодированных выходных данных, представляющих указанные входные данные.

Опционально, указанный кодер выполнен так, чтобы указанные аппаратные средства для обработки данных были реализованы с использованием вычислительных аппаратных средств, которые осуществляют исполнение программного продукта. Кроме того, опционально, указанные аппаратные средства для обработки данных включают множество процессоров, которые осуществляют обработку данных параллельно, а указанный кодер одновременно направляет данные блока и/или пакета в указанное множество процессоров для кодирования с получением данных, которые должны быть включены в указанные кодированные выходные данные.

Опционально, указанный кодер осуществляет выбор различных типов преобразований для обеспечения удовлетворения указанным одному или более критериям качества.

Опционально, указанный кодер осуществляет использование указанных преобразований для сжатия содержимого, связанного с указанными блоками или пакетами, так чтобы указанные кодированные выходные данные были меньше по размеру, чем указанные входные данные.

Опционально, указанный кодер осуществляет обеспечение динамического изменения указанного одного или более критериев качества во время кодирования указанных блоков или пакетов в зависимости от характера содержимого, включенного в указанные блоки или пакеты.

Опционально, указанный кодер осуществляет разделение указанных блоков или пакетов так, чтобы по меньшей мере один из представляющих их параметров, которые описывают содержимое указанных блоков или пакетов, являлся постоянным в пределах разделенных блоков или пакетов. Кроме того, опционально, указанный кодер выполнен так, чтобы указанный по меньшей мере один параметр представлял собой цвет, амплитуду, интенсивность, количество или код указанных разделенных блоков.

Опционально, указанный кодер выполнен так, что указанные блоки или пакеты представляют собой последовательности данных, при этом разделение указанных входных данных, соответствующих заданной информации, с формированием множества соответствующих блоков осуществляют в зависимости от содержимого, представленного в одних или более данных перед заданной информацией в указанной временной последовательности данных.

Опционально, указанный кодер осуществляет добавление к указанным преобразованным данным информации о заголовке с формированием кодированных выходных данных, при этом указанная информация о заголовке включает информацию, указывающую на преобразования, примененные кодером.

Опционально, указанный кодер осуществляет извлечение дополнительной информации из базы данных для использования при выполнении указанных преобразований, при этом указанная дополнительная информация включает по меньшей мере одно из следующего: алгоритмы, правила, один или более параметров преобразования. Кроме того, опционально, указанный кодер осуществляет добавление к указанным кодированным выходным данным информации о заголовке, указывающей на базу данных для обеспечения последующего декодирования указанных кодированных выходных данных, для предоставления доступа к указанной дополнительной информации при декодировании указанных кодированных выходных данных.

Опционально, указанный кодер осуществляет использование для указанных преобразований одного или более из следующего: ссылки на базу данных, значения постоянной составляющей, изменения, масштабирования, линейного, многоуровневого, неизменяемого кодирования, интерполяции, экстраполяции, дискретного косинусного преобразования (DCT), импульсно-кодовой модуляции (PCM), дифференциальной импульсно-кодовой модуляции (DPCM), кодирования длин серий (RLE), скользящего кодирования длин серий (SRLE), модификатора энтропии (EM), кодирования на основе преобразования Лемпеля-Зива (LZO), кодирования с переменной длиной (VLC), кодирования Хаффмана, арифметического кодирования, диапазонного кодирования, кодирования с преобразованием, дельта-кодирования, кодирования ODelta, кодирования длин серий для bzip2. Опционально кодером используются другие типы преобразований.

Опционально, указанный кодер осуществляет кодирование по меньшей мере одного из следующего: видео, изображения, звука, графики, текста, электрокардиограммы, сейсмической информации, символов ASCII, символок Юникод и двоичной информации, представленной во входных данных.

Опционально, указанный кодер осуществляет передачу указанных кодированных данных по меньшей мере в одно из следующих мест назначения: устройство хранения данных, сеть связи, карту памяти, диски для хранения данных, локальные сети связи (LAN), непосредственно в декодер.

В соответствии с пятым аспектом, предложен электронный потребительский продукт, осуществляющий передачу и/или хранение входных данных, отличающийся тем, что указанный электронный потребительский продукт содержит кодер для кодирования указанных входных данных в соответствии с четвертым аспектом.

Опционально, указанный электронный потребительский продукт представляет собой по меньшей мере одно из следующего: мобильный телефон, сотовый телефон, планшетный компьютер, персональный компьютер, телевизор, портативное мультимедийное устройство воспроизведения, фотокамеры, редакторы, транскодеры, сканеры, факсимильный аппарат, копировальный аппарат, микрофоны, звуковые карты, проигрыватели, DVD-проигрыватели и т.д.

Необходимо понимать, что признаки настоящего изобретения допускают их объединение в различных комбинациях без выхода за рамки объема настоящего изобретения, заданного приложенной формулой изобретения.

ОПИСАНИЕ ЧЕРТЕЖЕЙ

Далее только в качестве примера будут описаны варианты осуществления настоящего изобретения со ссылкой на следующие чертежи, на которых:

фиг.1 представляет собой схематическое изображение варианта осуществления кодера;

фиг.2 представляет собой блок-схему шагов способа кодирования входных данных, представляющих по меньшей мере один элемент контента, с формированием соответствующих кодированных выходных данных, при этом указанные кодированные выходные данные сжаты по отношению к указанным входным данным без существенной потери качества, возникающей во время декодирования, при этом указанный элемент контента предпочтительно включает по меньшей мере одно из следующего: данные изображения, видеоданные, аудиоданные, экономические данные, данные маскирования, сейсмографические данные, данные аналого-цифрового преобразования (ADC), данные биомедицинских сигналов, данные текстур, календарные данные, математические данные, двоичные данные, но не ограничиваются перечисленным;

на фиг.3 показан пример разделения изображения на области, соответствующие блокам для кодирования, с использованием способа, шаги которого проиллюстрированы на фиг.2;

на фиг.4 показан пример изображения и пример исходного изображения, разделенного для использования в соответствии с вариантами осуществления;

на фиг.5 показан пример блоков для примера изображения, проиллюстрированного на фиг.4; и

на фиг.6 проиллюстрированы блоки портативного устройства, в котором осуществляется кодирование.

На сопровождающих чертежах подчеркнутые номера позиций используются для представления элемента, над которым расположен подчеркнутый номер, или элемента, рядом с которым находится подчеркнутый номер. Неподчеркнутый номер относится к элементу, идентифицируемому линией, связывающей неподчеркнутый номер с указанным элементом. Если номер не подчеркнут и сопровождается соответствующей стрелкой, указанный неподчеркнутый номер используется для идентификации общего элемента, на который указывает стрелка.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

В целом настоящее изобретение относится к кодерам и соответствующим способам кодирования входных данных с формированием соответствующих кодированных выходных данных. Указанные способы относятся к приему входных данных, представляющих одно или более изображений и/или один или более аудиосигналов, и к последующей обработке указанных входных данных в соответствии по меньшей мере с одним из следующего:

a) разделением каждого изображения на блоки, которые могут иметь различные размеры;

b) разделением указанного одного или более аудиосигналов на пакеты, которые могут иметь различные размеры;

c) объединением блоков изображений с формированием более крупных блоков, которые могут иметь различные размеры, более предпочтительные для кодирования; и

d) объединением пакетов одного или более аудиосигналов с формированием объединенных пакетов, которые более предпочтительны для кодирования.

Кроме того, указанный способ включает обработку блоков и/или пакетов с формированием сжатых кодированных выходных данных, представляющих указанное одно или более изображений и/или указанный один или более аудиосигналов.

Способ предпочтительно использует множественное кодирование и способы модификации энтропии, а именно преобразования, при кодировании и сжатии данных, описывающих блоки данных. Например, для различных блоков заданного изображения используются различные преобразования, если тем самым достигаются предпочтительные характеристики кодирования и сжатия в зависимости от информационного содержимого различных блоков. Предпочтительно в качестве критерия качества при обработке блоков данных используется RD-оптимизация. Информацию, описывающую множество преобразований, используемых при кодировании блоков, передают в кодированных выходных данных, эта информация либо по существу включена в указанные кодированные выходные данные, либо выходные данные включают ссылку на одну или более баз данных, из которых может быть получена информация, описывающая используемые преобразования. RD-оптимизация более подробно будет описана далее. Предпочтительно используемые способы кодирования включают одно или более из следующего: многоуровневое кодирование, линейное кодирование, масштабирование, изменение, интерполяцию, экстраполяцию, неизменяемое кодирование, кодирование с оценкой движения, SRLE, EM, Odelta и диапазонное кодирование, как будет разъяснено более подробно далее. Опционально также предпочтительно применяется разбиение на lnit-блоки.

Выбор блоков и/или объединение блоков определяется простотой, с которой могут быть кодированы области, соответствующие указанным блокам, например, более крупные блоки применяют для областей указанного одного или более изображений, которые имеют по существу постоянное значение связанного с ними параметра, а меньшие блоки используют для областей указанного одного или более изображений, которые сложно кодировать вследствие относительно резких пространственных изменений значений связанного с ними параметра для указанных областей. Указанные параметры опционально относятся к одному или более из следующего: цвету, яркости, значению параметра изменения, образцу повторения, но не ограничиваются перечисленным. Каждое кодирование соответствует, например, по меньшей мере одному параметру, связанному с заданной областью, который является по существу постоянным в пределах указанной заданной области. Кроме того, указанный способ также использует блоки большего размера для стационарных областей в видеопоследовательностях изображений или для групп областей в видеопоследовательностях изображений, которые перемещаются аналогичным образом, а именно, блоки, которые соответствуют неподвижным объектам. Блоки опционально являются прямоугольными относительно областей указанного одного или более изображений, которые они представляют, например, 64×64 элемента, 32×16 элементов, 4×20 элементов, 10×4 элемента, 1×4 элемента, 3×1 элемент, 8× элементов, 1×1 элемент и т.д.; опционально, указанные элементы соответствуют пикселям, представленным в указанном одном или более изображениях, но могут быть подвергнуты операциям масштабирования во время кодирования, то есть каждый элемент относится к соответствующему множеству пикселей. Однако опционально применяют также другие формы блоков, например, эллиптические блоки, круглые блоки и т.д. Кроме того, аналогично, указанный способ может применяться для кодирования одного или более аудиосигналов, при этом указанный один или более аудиосигналы разделяют на пакеты и/или объединяют в пакеты различной временной длительности в зависимости от характера указанных соответствующих им аудиосигналов, затем пакеты кодируют с формированием кодированных сжатых выходных данных, при этом указанные пакеты аналогичны вышеупомянутым блокам, но относятся не к информации об изображении, а к аудиоинформации. Кодер согласно настоящему изобретению имеет возможность осуществлять одновременное кодирование как аудиоинформации, так и информации об изображении.

При обработке областей указанного одного или более изображений в соответствующих блоках указанный способ включает проверку качества представления информации, предоставленной блоками, в отношении соответствующей детали в указанном одном или более изображениях для вычисления соответствующего индекса качества; в случае если вычисленный индекс качества указывает, при сравнении с пороговым значением эталонного качества, что использовался такой выбор размеров блоков, что качество представления данных, предоставленных блоками, являлось недостаточным, способ осуществляет итерацию назад и последовательно использует блоки меньшего размера и/или комбинирует различные блоки, если это улучшает эффективность сжатия и не ухудшает значительно восстановление, до тех пор пока индекс качества не укажет, что качество представления удовлетворяет значению, заданному пороговым значением эталонного качества. Посредством такого подхода, в соответствии с настоящим изобретением, возможно обеспечить сжатие данных во время кодирования по существу без потерь в зависимости от выбора порогового значения для качества представления информации. Опционально, пороговое значение эталонного качества динамически изменяется в зависимости от содержимого, представленного в указанном одном или более изображениях; например, если указанное одно или более изображений являются частью видеопоследовательности, в которой имеется быстрая хаотическая активность, пороговое значение эталонного качества может уменьшаться во время указанной хаотической активности для обеспечения возможности достижения повышенной степени сжатия данных. Хаотическая активность может представлять собой, например, случайные признаки, такие как текущая бурная вода, пламя, падающий снег, клубящийся дым, океанские волны и т.д., для которых потеря информации не является легко различимой при последующем декодировании кодированных данных в декодере.

Определение блоков в вышеупомянутом кодере может быть опционально основано на одном или более критериях, перечисленных в таблице 3.

Таблица 3
Выбор разбиения и/или объединения при кодировании изображения
Номер критерия Критерий
1 Дисперсия или стандартное отклонение данных блока, извлеченных из соответствующей области входного изображения
2 Среднее или суммарное значение абсолютной разности между данными, представленными заданным блоком, и предсказанием его значения
3 Дисперсия или стандартное отклонение абсолютной разности между данными, представленными заданным блоком, и предсказанием его значения

Опционально, предсказания в таблице 2 основаны на известных правилах, применяемых при кодировании одного или более изображений. Альтернативно, предсказания в таблице 3 основаны на предоставленной информации о конфигурации, например, из ссылок выбранной базы данных, из направлений предсказания, из перемещений координат блока в пределах указанного одного или более изображений и т.д. Использование дисперсии или стандартного отклонения является подходом, применяемым согласно настоящему изобретению для обеспечения сжатия информации путем описания взаимного отношения элементов, включенных в соответствующий заданный блок. Во многих ситуациях предсказание данных блока со связанным с ним кодированием само по себе является достаточным при выполнении кодирования в соответствии с настоящим изобретением, но опционально предпочтительно включать в предсказание данные ошибки предсказания кода для улучшения точности предсказания. В упрощенном варианте осуществления настоящего изобретения применяется упрощенный способ предсказания данных, например, среднее значение, а именно значение «постоянной составляющей», пикселей или элементов в заданном блоке, который должен быть предоставлен в кодированных выходных данных.

Области разбиения или, альтернативно, области объединения, одного или более изображений, переданных в качестве входных данных в кодер, осуществляющий выполнение вышеупомянутого способа, опционально реализуют в соответствии с любым способом, который одновременно обеспечивает сжатие, а также по существу поддерживает сохранение качества изображения, а именно по существу отсутствие потерь во время кодирования. Указанный способ использует различные алгоритмы для такого разбиения и/или объединения областей. Например, если заданный блок включает существенную информацию, его опционально разбивают на множество соответствующих блоков меньшего размера, которые являются относительно «однородными», альтернативно, его опционально объединяют в блоки большего размера, которые являются относительно «однородными», а именно по существу постоянными в отношении их содержимого, так, чтобы они по отдельности включали относительно мало информации. Если способ кодирования согласно настоящему изобретению применяется по меньшей мере к одному или более изображениям и/или одному или более аудиосигналам, качество кодирования и шум кодирования в кодированных выходных данных опционально используют для управления способом разбиения входных изображений и входных аудиосигналов на блоки и пакеты, соответственно. Однако необходимо понимать, что аналогичным образом могут быть обработаны другие типы элементов контента, например, по меньшей мере один тип из следующих: данные изображения, видеоданные, аудиоданные, экономические данные, данные маскирования, сейсмографические данные, данные аналого-цифрового преобразования (ADC), данные биомедицинских сигналов, данные текстур, календарные данные, математические данные, двоичные данные, не ограничиваясь перечисленным.

Опционально, указанный шум в кодированных выходных данных основан по меньшей мере на одном из следующего:

I) шум, имеющийся в текущем блоке или пакете;

II) шум, имеющийся в одном или более предыдущих блоков или пакетов, сформированных с использованием указанного способа;

III) предыдущие изображения.

Опционально, если заданное входное изображение разбито на области и соответствующие блоки, осуществляется анализ сформированных с использованием указанного способа блоков для определения того, могут ли быть объединены какие-либо из блоков, как было упомянуто выше, в соответствии с вышеупомянутыми критериями качества, для получения большей степени сжатия данных кодированных выходных данных. Согласно вышесказанному, кодированные выходные данные включают информацию, связанную с блоками, которые задают местоположение их соответствующих областей в исходных изображениях во входных данных, которые должны быть кодированы.

При кодировании указанного одного или более изображений, имеющихся во входных данных, которые должны быть кодированы с использованием указанного способа, данные, связанные с указанными входными изображениями, предпочтительно субдискретизируют, например, в отношении 2×1:1,2×2:1,1×