Модификатор энтропии и способ его использования
Иллюстрации
Показать всеИзобретение относится к области техники, связанной с модификаторами энтропии. Технический результат – повышение эффективности сжатия данных. Предлагается модификатор энтропии, выполненный с возможностью побитового кодирования или декодирования потока битов входных данных, характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом модификатор энтропии выполнен с возможностью обработки потока входных данных для обработки групп одинаковых битов и значения первого бита, а также одной или более максимальных длин последовательностей групп одинаковых битов. Опционально, модификатор энтропии выполнен с возможностью управления одной или более максимальными длинами последовательностей групп одинаковых битов с помощью по меньшей мере одного управляющего кода. 6 н. и 40 з.п. ф-лы, 1 ил., 3 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к области техники, связанной с модификаторами энтропии, которые принимают входные данные и генерируют соответствующие выходные данные, уровень энтропии которых изменен по отношению к входным данным, например, с целью сжатия и/или декомпрессии данных; при этом модификаторы энтропии реализуются с использованием электронного оборудования и/или программного обеспечения, хранимого на машиночитаемом носителе информации и исполняемого вычислительным устройством. Кроме того, настоящее изобретение также относится к способам модификации энтропии входных данных с целью генерации соответствующих выходных данных с модифицированным уровнем энтропии относительно входных данных. Помимо этого, настоящее изобретение относится к программным изделиям, которые записаны на машиночитаемом носителе информации и исполняются вычислительным устройством для реализации указанных выше способов. Модификаторы энтропии используются, например, в качестве компонентов систем передачи данных и систем поставки данных, таких как системы поставки мультимедийной информации.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
В общем случае в теории информации под энтропией понимается мера неопределенности случайной переменной, относящаяся к физическим непрерывным системам, например к термодинамическим системам, а также к информационным системам, например к системам передачи данных. Кроме того, в контексте систем передачи данных более правильно называть энтропию шенноновской энтропией в честь Клода Шеннона, написавшего в 1948 году научную статью "Математическая теория связи", которая включена в настоящую заявку посредством ссылки. Шенноновская энтропия используется для количественного определения ожидаемой величины информации, содержащейся в заданном сообщении. Кроме того, шенноновская энтропия выражается в таких единицах, как наты, баны, а также биты.
Шенноновская энтропия определяет абсолютный предел в отношении наилучшего кодирования или сжатия любых передаваемых данных без потерь с учетом того, что заданный сеанс связи представляется как последовательность независимых и идентично распределенных случайных величин. Кроме того, согласно теории Шеннона утверждается, что средняя длина L кратчайшего возможного представления для кодирования заданного сообщения в заданном алфавите равна его энтропии E, деленной на логарифм количества символов N, содержащихся в алфавите, то есть вычисляется по формуле 1.
Таким образом, энтропия E является мерой неопределенности или количеством информации. В соответствии со способом сжатия данных без потерь, сжатые выходные данные, генерируемые путем применения способа сжатия к соответствующим входным данным, характеризуются таким же количеством информации, что и входные данные, но содержат меньшее количество битов, чем входные данные. Следовательно, сжатые выходные данные являются более непредсказуемыми, поскольку информация, содержащаяся в них, менее избыточна.
Теория Шеннона учитывается при разработке известных устройств кодирования данных. Например, в опубликованной международной заявке WO 2010/050157 A1 (PCT/JP 2009/005548, "Image encoding apparatus, image encoding method, and image encoding program" (устройство, способ и программа кодирования образов), заявитель - Thomson Licensing), описывается устройство, способ и программа кодирования образов, которые функционируют для гомогенизирования качества образов в целом без уменьшения эффективности кодирования, работают на высокой скорости и способны уменьшить объем схемотехники путем перестановки макроблоков без изменения структуры массива данных. Кроме того, предлагается устройство кодирования образов, содержащее:
(i) блок перестановки, который накапливает и переставляет множество макроблоков, составляющих данные образа, из соответствующих позиций в пределах образа;
(ii) блок кодирования, который выполняет пространственно-частотное преобразование и энтропийное кодирование множества макроблоков, накопленных и переставленных блоком перестановки; и
(iii) блок регулирования скорости, который управляет блоком кодирования с целью настройки скорости передачи множества макроблоков после выполнения кодирования.
Для данных, независимо от их типа, требуется пространство на носителе информации, а также полоса пропускания, выделяемая из общей пропускной способности сети связи, при перемещении от одного пространственного расположения к другому. Такая полоса пропускания в реальных условиях связана с вложениями в инфраструктуру связи и с использованием энергии. Поскольку объем данных, подлежащих передаче, планируется так, чтобы имелась возможность его увеличения в будущем, возникает необходимость в большем пространстве на носителе информации и в большей пропускной способности системы связи, а также часто требуется больший уровень энергии. В современной сети Интернет хранится огромный объем данных, часто в виде множества копий. В связи с этим любой подход, позволяющий сжимать данные, особенно если при этом не теряется информация, потенциально приносит значительные технические и экономические преимущества. На современном уровне техники существуют несколько известных способов уменьшения энтропии в наборах данных с целью их сжатия. Кроме того, существуют известные способы модификации энтропии в наборах данных, например дельта-кодирование и кодирование длин серий (RLE, Run-Length-Encoding), однако все еще требуются новые способы, которые обеспечат более эффективное сжатие данных.
Так, существует множество различных способов сжатия конкретных данных путем уменьшения энтропии, присутствующей в этих данных, например отмеченное выше кодирование RLE, кодирование VLC, кодирование методом Хаффмана, дельта-кодирование, арифметическое кодирование и интервальное кодирование. Эти способы обычно разрабатываются для сжатия символов, чисел, байтов и слов. Однако такие способы не практичны для сжатия отдельных битов, и по этой причине они не идеальны для сжатия данных, которые могут изменяться побитовым образом, например для потоков битов данных.
В процессе стандартного кодирования RLE сохраняется либо заданное значение, то есть бит, либо два значения, то есть бит, после которого следует ряд аналогичных значений, то есть битов. RLE может применяться избирательно, например, этот способ кодирования может быть зарезервирован исключительно для кодирования последовательностей, содержащих известное количество битов для ряда аналогичных значений. Такое избирательное применение RLE требует, чтобы одинаковое значение размещалось один раз или дважды в заданном потоке данных с каждой новой последовательностью. Однако в настоящее время требуются улучшенные подходы к сжатию данных, которые бы уменьшали энтропию в наборах данных, независимо от их типа.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Первой целью настоящего изобретения является реализация улучшенного модификатора энтропии, например, для усовершенствования процедуры сжатия данных.
Второй целью настоящего изобретения является реализация улучшенного способа модификации энтропии, например, для усовершенствования процедуры сжатия данных.
В соответствии с первым аспектом настоящего изобретения предлагается модификатор энтропии согласно п. 1 прилагаемой формулы изобретения, а именно: предлагается модификатор энтропии, выполненный с возможностью побитового кодирования потока битов входных данных (D1), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D2) с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом
(a) модификатор энтропии выполнен с возможностью побитовой генерации выходных данных (D2), включающих информацию о первом бите, которая используется в качестве опорного значения для последующих данных, включаемых в выходные данные (D2);
(b) в состав выходных данных (D2) также входят данные, указывающие длины последовательностей одинаковых битов, представленных во входных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности (MaxRun); и
(c) одно или более появлений длин последовательностей во входных данных (D1), по существу превышающих значение максимальной длины последовательности (MaxRun), отмечают по меньшей мере одним управляющим кодом (escape code), включаемым в выходные данные (D2).
Преимущество настоящего изобретения состоит в том, что избирательное использование представления длины последовательности данных позволяет реализовать улучшенный процесс модификации энтропии, например улучшенный процесс сжатия данных.
Опционально, модификатор энтропии реализуется таким образом, чтобы одна или более максимальных длин последовательностей (MaxRun) групп одинаковых битов управлялась множеством управляющих кодов.
В одном из решений в качестве управляющего кода используется значение максимальной длины последовательности и индикация того, что количество одинаковых битов не исчерпано. Согласно этому решению, все символы могут быть кодированы в виде одного потока данных. Другой вид управляющего кода позволяет использовать множество различных решений, отдельно от кодированных символов, и представляет количество следующих друг за другом одинаковых битов, которое превышает значение максимальной длины последовательности. Согласно этому решению могут обрабатываться два отдельных потока, или может быть разработано решение, в соответствии с которым любое количественное значение не превышает максимальную последовательность, вследствие чего они могут также кодироваться с таким же потоком других символов. Кроме того, могут использоваться другие способы формирования управляющего кода.
Опционально, модификатор энтропии выполнен с возможностью реализации по меньшей мере одного управляющего кода в выходных данных (D2) посредством величины "0" в данных.
Опционально, модификатор энтропии выполнен с возможностью обработки потоков битов входных данных (D1) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D1).
Опционально, модификатор энтропии выполнен с возможностью функционирования в качестве препроцессора данных для переформатирования входных данных (D1) в выходные данные (D2) с целью последующего сжатия в рамках одной или более схем кодирования для генерации сжатых данных (D3).
Опционально, к одной или более схемам кодирования могут относиться одна или более следующих схем: кодер ODelta, кодер RLE, кодер VLC, кодер Хаффмана, дельта-кодер, арифметический кодер, интервальный кодер.
Опционально, модификатор энтропии выполнен с возможностью обработки потока битов входных данных (D1) в множестве отдельно обрабатываемых частей. В частности, модификатор энтропии выполнен с возможностью обработки множества частей параллельно во времени, то есть посредством параллельного выполнения. В частности, модификатор энтропии выполнен с возможностью обработки множества частей с использованием значений максимальной длины последовательностей (MaxRun), которые взаимно отличаются для одной или более частей.
Следует учитывать, что информация о первом бите может кодироваться в собственный поток данных или в тот же поток данных с информацией о длине последовательности, или информация о первом бите может включаться в информацию об используемом способе кодирования.
Опционально, модификатор энтропии реализуется для функционирования в качестве кодера, сжимающего поток входных данных (D1) с целью генерации выходных данных (D2 или D3) с модифицированной энтропией.
Опционально, модификатор энтропии выполнен с возможностью участия в процессе преобразования битовой строки входных данных (D1) в символы выходных данных (D2 или D3) с модифицированной энтропией.
Опционально, модификатор энтропии содержит вычислительное оборудование, которое выполняет одну или более программ, записанных на машиночитаемом носителе информации, для обработки потока битов входных данных (D1) с целью генерации выходных данных (D2).
В соответствии со вторым аспектом настоящего изобретения предлагается модификатор энтропии, выполненный с возможностью декодирования потока битов входных данных (D3 или D4), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D5) с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом
(a) модификатор энтропии выполнен с возможностью побитовой обработки входных данных (D3 или D4) с использованием информации о первом бите этих данных, которая применяется в качестве опорного значения для последующих данных, включенных во входные данные (D3 или D4);
(b) модификатор энтропии выполнен с возможностью обработки данных, присутствующих в составе входных данных (D3 или D4) и указывающих длины последовательностей одинаковых битов, представленных в исходных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности {MaxRun); и
(c) модификатор энтропии выполнен с возможностью обнаружения одного или более появлений длин последовательностей в исходных данных (D1), по существу превышающих значение максимальной длины последовательности и отмеченных по меньшей мере одним управляющим кодом, включенным во входные данные (D3 или D4).
Опционально, модификатор энтропии выполнен с возможностью обработки одной или более максимальных длин последовательностей (MaxRun) групп одинаковых битов с помощью по меньшей мере одного управляющего кода. В частности, модификатор энтропии реализуется таким образом, чтобы одна или более максимальных длин последовательностей (MaxRun) групп одинаковых битов обрабатывалась с использованием множества управляющих кодов.
Опционально, по меньшей мере один управляющий код представляет собой значение "0" во входных данных (D3 или D4).
В одном из решений в качестве управляющего кода используется значение максимальной длины последовательности и индикация того, что количество одинаковых битов не исчерпано. Согласно этому решению, все символы могут быть кодированы в виде одного потока данных и сходным образом могут декодироваться в виде одного потока данных. Другой вид управляющего кода позволяет использовать множество различных решений, отдельно от кодированных символов, и представляет количество следующих друг за другом одинаковых битов, которое больше значения максимальной длины последовательности. Согласно этому решению, могут обрабатываться два отдельных потока, или может быть разработано решение, в соответствии с которым любое количественное значение не превышает максимальную последовательность, вследствие чего они могут также кодироваться с таким же потоком других символов. Кроме того, могут использоваться другие способы формирования управляющего кода.
Опционально, модификатор энтропии выполнен с возможностью управления потоком битов входных данных (D3 или D4) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D3 или D4).
Опционально, модификатор энтропии выполнен с возможностью обработки информации о значении первого бита в потоке битов входных данных (D3 или D4) отдельно от последовательности битов данных. В частности, модификатор энтропии выполнен с возможностью обработки значения первого бита в виде отдельно кодированной информации по отношению к последовательности значений данных, представляющих количество следующих друг за другом одинаковых битов.
Опционально, модификатор энтропии выполнен с возможностью декодирования элементов данных, присутствующих во входных данных (D3 или D4), и применения обратной модификации энтропии для генерации выходных данных (D5) в виде декодированного потока битов.
Опционально, модификатор энтропии используется для постобработки совместно с одной или более схем кодирования с целью обработки потока битов входных данных (D3 или D4), при этом применяется одна или более следующих схем кодирования: кодер ODelta, кодер RLE, кодер VLC, кодер Хаффмана, дельта-кодер, арифметический кодер, интервальный кодер.
Опционально, модификатор энтропии выполнен с возможностью обработки потока битов входных данных (D3 или D4) в множестве отдельно кодируемых или декодируемых частей. В частности, модификатор энтропии выполнен с возможностью обработки множества частей параллельно во времени, то есть посредством параллельного выполнения. В частности, модификатор энтропии выполнен с возможностью обработки множества частей с использованием значений максимальной длины последовательностей (MaxRun), которые взаимно отличаются для одной или более частей.
Опционально, модификатор энтропии реализуется для функционирования в качестве декодера для декомпрессии входных данных (D3 или D4) с целью генерации выходных данных (D5) с модифицированной энтропией.
Опционально, модификатор энтропии выполнен с возможностью участия в процессе преобразования символов во входных данных (D3 или D4) в битовую строку, представленную в выходных данных (D5).
Опционально, модификатор энтропии содержит вычислительное оборудование, которое выполняет одну или более программ, записанных на машиночитаемом носителе информации, для обработки потока битов входных данных (D3 или D4) с целью генерации выходных данных (D5).
В соответствии с третьим аспектом настоящего изобретения предлагается способ использования модификатора энтропии, позволяющий выполнять побитовое кодирование потока битов входных данных (D1), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D2) с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом способ включает:
(a) использование модификатора энтропии для побитовой генерации выходных данных (D2) включающих информацию о первом бите, которая используется в качестве опорного значения для последующих данных, включаемых в выходные данные (D2);
(b) включение в состав выходных данных (D2) также данных, указывающих длины последовательностей одинаковых битов, представленных во входных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности (MaxRun); и
(c) отметку одного или более появлений длин последовательностей во входных данных (D1), по существу превышающих максимальную величину последовательности, по меньшей мере одним управляющим кодом, включаемым в выходные данные (D2).
Опционально, способ включает использование множества управляющих кодов для управления одной или более максимальных длин последовательностей (MaxRun) групп одинаковых битов. В частности, способ включает применение модификатора энтропии для обработки потока битов входных данных (D1) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D1).
Опционально, способ включает реализацию по меньшей мере одного управляющего кода в выходных данных (D2) посредством значения «0» в данных.
Опционально, способ включает использование модификатора энтропии для функционирования в качестве препроцессора данных для переформатирования входных данных (D1) в выходные данные (D2) с целью последующего сжатия в рамках одной или более схем (20) кодирования для генерации сжатых данных (D3). Опционально, к одной или более схемам кодирования могут относиться одна или более следующих схем: кодер ODelta, кодер RLE, кодер VLC, кодер Хаффмана, дельта-кодер, арифметический кодер, интервальный кодер.
Опционально, способ включает использование модификатора энтропии для обработки потока битов входных данных (D1) в множестве отдельно обрабатываемых частей. В частности, способ включает использование модификатора энтропии для обработки множества частей параллельно во времени, то есть посредством параллельного выполнения. В частности, способ включает применение модификатора энтропии для обработки множества частей с использованием значений максимальной длины последовательностей (MaxRun), которые взаимно отличаются для одной или более частей.
Опционально, способ включает реализацию модификатора энтропии для функционирования в качестве кодера, сжимающего поток входных данных (D1) с целью генерации выходных данных (D2 или D3) с модифицированной энтропией. В частности, способ включает использование модификатора энтропии в процессе преобразования битовой строки входных данных (D1) в символы выходных данных (D2 или D3) с модифицированной энтропией.
Опционально, способ включает реализацию модификатора энтропии с использованием вычислительного оборудования, которое выполняет одну или более программ, записанных на машиночитаемом носителе информации, для обработки потока битов входных данных (D1) с целью генерации выходных данных (D2).
В соответствии с четвертым аспектом настоящего изобретения предлагается способ использования модификатора энтропии, позволяющий декодировать поток битов входных данных (D3 или D4), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D5) с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом способ включает:
(a) использование модификатора энтропии для побитовой обработки входных данных (D3 или D4) с использованием информации о первом бите этих данных, которая применяется в качестве опорного значения для последующих данных, включенных во входные данные (D3 или D4);
(b) использование модификатора энтропии для обработки данных, присутствующих во входных данных (D3 или D4) и указывающих длины последовательностей одинаковых битов, представленных в исходных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности (MaxRun); и
(c) использование модификатора энтропии для обнаружения одного или более появлений длин последовательностей в исходных данных (D1), по существу превышающих значение максимальной длины последовательности и отмеченных по меньшей мере одним управляющим кодом, включенным во входные данные (D3 или D4).
Опционально, способ включает использование модификатора энтропии для обработки одной или более максимальных длин последовательностей (MaxRun) групп одинаковых битов с помощью по меньшей мере одного управляющего кода. В частности, способ включает обработку одной или более максимальных длин последовательностей (MaxRun) групп одинаковых битов с помощью множества управляющих кодов.
Опционально, способ включает реализацию по меньшей мере одного управляющего кода посредством значения «0» во входных данных (D3 или D4).
Опционально, способ включает применение модификатора энтропии для обработки потока битов входных данных (D3 или D4) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D3 или D4).
Опционально, способ включает применение модификатора энтропии для обработки информации о значении первого бита в потоке битов входных данных (D3 или D4) отдельно от последовательности битов данных. В частности, способ включает использование модификатора энтропии для обработки первого бита в виде отдельно кодированной информации по отношению к последовательности значений данных, представляющих количество следующих друг за другом одинаковых битов.
Опционально, способ включает использование модификатора энтропии для декодирования элементов данных, присутствующих во входных данных (D3 или D4), и применения обратной модификации энтропии для генерации выходных данных (D5) в виде декодированного потока битов.
Опционально, способ включает использование модификатора энтропии для постобработки совместно с одной или более схем кодирования с целью обработки потока битов входных данных (D3 или D4), при этом применяется одна или более следующих схем кодирования: кодер ODelta, кодер RLE, кодер VLC, кодер Хаффмана, дельта-кодер, арифметический кодер, интервальный кодер.
Опционально, способ включает использование модификатора энтропии для обработки потока битов входных данных (D3 или D4) в множестве отдельно обрабатываемых частей. В частности, способ включает использование модификатора энтропии для обработки множества частей параллельно во времени, то есть посредством параллельного выполнения. В частности, способ включает применение модификатора энтропии для обработки множества частей с использованием значений максимальной длины последовательностей {MaxRun), которые взаимно отличаются для одной или более частей.
Следует учитывать, что декодер получает информацию о значении первого бита из собственного потока данных или из того же потока данных с информацией о длинах последовательностей, или эта информация может включаться в информацию об используемой схеме(-ах) кодирования.
Опционально, способ включает использование модификатора энтропии для функционирования в качестве декодера для декомпрессии входных данных (D3 или D4) с целью генерации выходных данных (D5) с модифицированной энтропией.
Опционально, способ включает использование модификатора энтропии в процессе преобразования символов входных данных (D3 или D4) в битовую строку, представленную в выходных данных (D5).
Опционально, способ включает реализацию модификатора энтропии с использованием вычислительного оборудования, которое выполняет одну или более программ, записанных на машиночитаемом носителе информации, для обработки потока битов входных данных (D3 или D4) с целью генерации выходных данных (D5).
В соответствии с пятым аспектом настоящего изобретения предлагается программное изделие, записанное на машиночитаемом носителе информации и выполняемое вычислительным оборудованием для осуществления способа согласно третьему аспекту настоящего изобретения.
В соответствии с шестым аспектом настоящего изобретения предлагается программное изделие, записанное на машиночитаемом носителе информации и выполняемое вычислительным оборудованием для осуществления способа согласно четвертому аспекту настоящего изобретения.
Дополнительные аспекты, преимущества, признаки и цели настоящего изобретения станут очевидными после ознакомления с чертежами и подробным описанием примеров осуществления, приведенным ниже совместно с прилагаемой формулой изобретения.
Следует принимать во внимание, что признаки настоящего изобретения допускается комбинировать в различных сочетаниях без нарушения объема настоящего изобретения, определенного прилагаемой формулой изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления настоящего изобретения описываются ниже только в качестве примеров со ссылкой на прилагаемый чертеж, а именно:
фиг. 1, на котором показан пример системы кодека, содержащего модификаторы энтропии в соответствии с вариантами осуществления настоящего изобретения.
На прилагаемых чертежах подчеркнутые числа используются для обозначения элементов, над которыми или рядом с которыми находятся эти числа. Неподчеркнутые числа относятся к элементам, идентифицируемым линией, которая соединяет их с неподчеркнутым числом.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с первым аспектом вариантов осуществления настоящего изобретения предлагается модификатор энтропии, выполненный с возможностью побитового кодирования потока битов входных данных (D1), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D2) с модифицированной энтропией, характеризующихся второй величиной энтропии, при этом
(a) модификатор энтропии выполнен с возможностью побитовой генерации выходных данных (D2) включающих информацию о первом бите, которая используется в качестве опорного значения для последующих данных, включаемых в выходные данные (D2);
(b) в состав выходных данных (D2) также входят данные, указывающие длины последовательностей одинаковых битов, представленных во входных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности (MaxRun); и
(c) одно или более появлений длин последовательностей во входных данных (D1), по существу превышающих максимальное значение длины последовательности (MaxRun), отмечаются по меньшей мере одним управляющим кодом, включаемым в выходные данные (D2).
Преимущество настоящего изобретения состоит в том, что избирательное использование представления длины последовательности данных позволяет реализовать улучшенный процесс модификации энтропии, например улучшенный процесс сжатия данных.
Опционально, модификатор энтропии реализуется таким образом, чтобы одна или более максимальных длин последовательностей (MaxRun) групп одинаковых битов управлялась множеством управляющих кодов.
В одном из решений в качестве управляющего кода используется значение максимальной длины последовательности и индикация того, что количество одинаковых битов не исчерпано. Согласно этому решению, все символы могут быть кодированы в виде одного потока данных. Другой вид управляющего кода позволяет использовать множество различных решений, отдельно от кодированных символов, и представляет количество следующих друг за другом одинаковых битов, которое больше значения максимальной длины последовательности. Согласно этому решению, могут обрабатываться два отдельных потока, или может быть разработано решение, в соответствии с которым любое количественное значение не превышает максимальную последовательность, вследствие чего они могут также кодироваться с таким же потоком других символов. Кроме того, могут использоваться другие способы формирования управляющего кода.
Опционально, модификатор энтропии выполнен с возможностью реализации по меньшей мере одного управляющего кода в выходных данных (D2) посредством величины «0» в данных.
Опционально, модификатор энтропии выполнен с возможностью обработки потоков битов входных данных (D1) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D1).
Опционально, модификатор энтропии выполнен с возможностью функционирования в качестве препроцессора данных для переформатирования входных данных (D1) в выходные данные (D2) с целью последующего сжатия в рамках одной или более схем кодирования для генерации сжатых данных (D3).
Опционально, к одной или более схемам кодирования могут относиться одна или более следующих схем: кодер ODelta, кодер RLE, кодер VLC, кодер Хаффмана, дельта-кодер, арифметический кодер, интервальный кодер.
Опционально, модификатор энтропии выполнен с возможностью обработки потока битов входных данных (D1) в множестве отдельно обрабатываемых частей. В частности, модификатор энтропии выполнен с возможностью обработки множества частей параллельно во времени, то есть посредством параллельного выполнения. В частности, модификатор энтропии выполнен с возможностью обработки множества частей с использованием значений максимальной длины последовательностей (MaxRun), которые взаимно отличаются для одной или более частей.
Следует учитывать, что информация о первом бите может кодироваться в собственный поток данных или в тот же поток данных с информацией о длине последовательности, или информация о первом бите может включаться в информацию об используемом способе кодирования.
Опционально, модификатор энтропии реализуется для функционирования в качестве кодера, сжимающего поток входных данных (D1) с целью генерации выходных данных (D2 или D3) с модифицированной энтропией.
Опционально, модификатор энтропии выполнен с возможностью участия в процессе преобразования битовой строки входных данных (D1) в символы выходных данных (D2 или D3) с модифицированной энтропией.
Опционально, модификатор энтропии содержит вычислительное оборудование, которое выполняет одну или более программ, записанных на машиночитаемом носителе информации, для обработки потока битов входных данных (D1) с целью генерации выходных данных (D2).
В соответствии со вторым аспектом вариантов осуществления настоящего изобретения предлагается модификатор энтропии, выполненный с возможностью декодирования потока битов входных данных (D3 или D4), характеризующихся первой величиной энтропии, для генерации соответствующих выходных данных (D5) с модифицированной энтропией, при этом
(a) модификатор энтропии служит для побитовой обработки входных данных (D3 или D4) с использованием информации о первом бите этих данных, которая применяется в качестве опорного значения для последующих данных, включенных во входные данные (D3 или D4);
(b) модификатор энтропии выполнен с возможностью обработки данных, присутствующих в составе входных данных (D3 или D4) и указывающих длины последовательностей одинаковых битов, представленных в исходных данных (D1), при этом длины последовательностей одинаковых битов ограничены в размере по существу так, чтобы не превышалось значение максимальной длины последовательности (MaxRun); и
(c) модификатор энтропии выполнен с возможностью обнаружения одного или более появлений длин последовательностей в исходных данных (D1), по существу превышающих значение максимальной длины последовательности и отмеченных по меньшей мере одним управляющим кодом, включенным во входные данные (D3 или D4).
Опционально, модификатор энтропии выполнен с возможностью обработки одной или более максимальных длин последовательности (MaxRun) групп одинаковых битов с помощью по меньшей мере одного управляющего кода. В частности, модификатор энтропии реализуется таким образом, чтобы одна или более максимальных длин последовательности (MaxRun) групп одинаковых битов обрабатывалась с использованием множества управляющих кодов.
Опционально, по меньшей мере один управляющий код представляет собой значение «0» во входных данных (D3 или D4).
В одном из решений в качестве управляющего кода используется значение максимальной длины последовательности и индикация того, что количество одинаковых битов не исчерпано. Согласно этому решению, все символы могут быть кодированы в виде одного потока данных и аналогичным образом могут декодироваться в виде одного потока данных. Другой вид управляющего кода позволяет использовать множество различных решений, отдельных от кодированных символов, и представляет количество следующих друг за другом одинаковых битов, которое больше значения максимальной длины последовательности. Согласно этому решению могут обрабатываться два отдельных потока, или может быть разработано решение, в соответствии с которым любое количественное значение не превышает максимальную последовательность, вследствие чего они могут также кодироваться с этим же потоком других символов. Кроме того, могут использоваться другие способы формирования управляющего кода.
Опционально, модификатор энтропии выполнен с возможностью управления потоком битов входных данных (D3 или D4) с использованием значения максимальной длины последовательности (MaxRun) динамически изменяющимся способом в виде функции от характера потока битов входных данных (D3 или D4).
Опционально, модификатор энтропии выполнен с возможностью обработки информации о значении первого бита в потоке битов входных данных (D3 или D4) отдельно от последовательности битов данных. В частности, модификатор энтропии выполнен с возможностью обработки значения первого бита в виде отдельно кодированной информации по отношению к последовательности значений данных, представляющих количество следующих друг за другом одинаковых битов.
Опционально, модификатор энтропии выполнен с возможностью декодирования элементов данных, прис