СПОСОБ СЖАТИЯ ЦИФРОВЫХ ЗНАЧЕНИЙ ИЗОБРАЖЕНИЯ, АУДИО И/ИЛИ ВИДЕО ФАЙЛОВ
METHOD OF COMPRESSION OF DIGITAL VALUES OF IMAGE, AUDIO AND/OR VIDEO FILES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области сжатия цифровых значений цифрового изображения, аудио и/или видео файла, в частности файла, содержащего последовательность значений.
УРОВЕНЬ ТЕХНИКИ
Основными ограничениями способов сжатия являются, с одной стороны, максимально возможное уменьшение объема, измеренного в октетах, начального цифрового файла за счет его сжатия и, с другой стороны, максимально точное восстановление файла по отношению к начальному файлу.
Некоторые способы сжатия позволяют точно восстанавливать начальные значения. Таким способом является дифференциальная импульсно-кодовая модуляция (ДИКМ (DPCM)). Согласно этому способу сохраняется исходное значение, то есть первое значение начального цифрового файла, затем каждое другое значение заменяется на свою разность со значением, которое предшествует ему в начальном файле. Числа, соответствующие разностям, как правило, меньше тех, которые соответствуют начальным значениям, что позволяет получить сжатый файл. Для восстановления начального значения необходимо только прибавить соответствующую разность снова к предыдущему начальному значению, то есть сложить последовательные разности значений с исходным значением.
Предполагается, что максимально возможное уменьшение интервалов между двумя начальными значениями позволяет получить максимально возможный коэффициент сжатия. Таким образом, была введена модуляция ДИКМ. Однако коэффициент сжатия, полученный с помощью способа ДИКМ, остается низким. Поэтому кажется привлекательной идея применения дополнительного сжатия до файла разностей. Однако ошибки, вызванные этим новым сжатием, накапливаются, так как во время восстановления последовательные разности складываются вместе с исходным значением. Согласно способу АДИКМ (адаптивной ДИКМ) эти ошибки частично компенсируются за счет использования алгоритма, предназначенного для их предсказания. Этот способ остается неудовлетворительным с точки зрения коэффициентов сжатия, которые желательно было бы достичь.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача настоящего изобретения заключается в том, чтобы предложить простой и эффективный способ сжатия, который позволил бы объединить преимущества более высокого коэффициента сжатия с преимуществами самого по себе способа ДИКМ, при сохранении преимуществ дифференциального кодирования без распространения ошибок.
Согласно настоящему изобретению способ сжатия цифрового файла, то есть файла, содержащего последовательность начальных цифровых значений, характеризуется тем, что для начального значения, первого в последовательности, сжатое значение этого первого начального значения равно исходному начальному значению, и затем тем, что для каждого текущего начального значения последовательно выполняют следующие этапы, на которых:
- вычисляют разность между текущим начальным значением и разуплотненным значением начального значения, непосредственно предшествующего текущему значению; затем
- вычисляют сжатое значение упомянутой разности с использованием функции сжатия; затем
- вычисляют разуплотненное значение, соответствующее упомянутому текущему начальному значению; затем
- тем, что применяют три предыдущих этапа к непосредственно следующему значению, если таковое имеется; и
- составляют сжатую последовательность сжатых значений, каждое из которых соответствует соответствующему начальному значению.
Таким образом, отсутствует распространение ошибок.
Преимущественно в отношении сжатого значения сохраняется знак разности. Предпочтительно сжатое значение округляется до ближайшего целого числа.
Дополнительная функция сжатия может представлять собой функцию корня n-ой степени, где n>l, например функцию квадратного корня или функцию кубического корня.
Дополнительная функция сжатия также может представлять собой деление на постоянную С, где С>l.
Согласно настоящему изобретению способ разуплотнения для последовательности цифровых значений, сжатых с использованием одного из способов, согласно настоящему изобретению, характеризуется тем, что для первого сжатого значения сжатой последовательности соответствующее разуплотненное значение равно первому сжатому значению, затем тем, что для каждого текущего сжатого значения последовательно выполняют следующие этапы, на которых:
- вычисляют соответствующее разуплотненное значение путем применения к текущему сжатому значению обратной функции дополнительной функции сжатия и затем прибавления предыдущего разуплотненного значения, затем
- тем, что применяют предыдущий этап к непосредственно следующему сжатому значению, если таковое имеется; и
- составляют разуплотненную последовательность разуплотненных значений, каждое из которых соответствует соответствующему начальному значению.
Преимущественно обратная функция сохраняет знак сжатого значения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Ниже приводится описание нескольких примеров настоящего изобретения в качестве неограничивающих примеров со ссылкой на прилагаемые чертежи, на которых:
Фиг.1 - график, иллюстрирующий восстановление цифровых значений файла изображения, причем сжатые значение соответствуют целой части квадратного корня разностей, вычисленных с помощью способа ДИКМ и с помощью способа согласно настоящему изобретению;
Фиг.2 - график, иллюстрирующий восстановление цифровых значений файла изображения, причем сжатые значения соответствуют целой части кубического корня разностей, вычисленных с помощью способа ДИКМ и с помощью способа согласно настоящему изобретению.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Согласно настоящему изобретению способ сжатия может быть выражен с помощью следующих общих формул:
- дана начальная последовательность S первых значений Va,..., Vp, Vq,..., Vz,
- сжатое значение VCa первого значения Va последовательности S является таким, что: VCa=Va; восстановленное значение VDa сжатого значения VCa является таким, что: VDa=VCa=Va и,
- для текущего значения Vq, отличного от Va, последовательность S является такой, что:
- дано разуплотненное значение VDp, соответствующее значению Vp, предшествующему текущему значению Vq в последовательности S,
- сжатое значение VCq текущего значения Vq равно: VCq= +|округленное [f(Dq)]|, если Dq>0, и
VCq=-|округленное [f(Dq)]|, если Dq<0,
при: Dq=Vq-VDp,
- разуплотненное значение VDq, соответствующее текущему значению Vq, равно:
-1
VDq=+|округленное [f (VCq)]|+VDp, если VCq>0, и
-1
VDq=-|округленное [f (VCq)]|+VDp, если VCq<0,
- округление выполняется до ближайшего целого числа, и
- где f - дополнительная функция сжатия.
В вышеприведенных формулах "z" не представляет собой 26-ое значение, но последнее значение последовательности, вне зависимости от количества значений, которое включает в себя последовательность.
-1
x
Дополнительную функцию f сжатия и ее обратную функцию f можно определить в диапазоне начальных значений или разностей |Vq-VDp|, достаточных для обеспечения достаточной обработки начальных значений. Например, если функция f сжатия представляет собой логарифм, то ее можно применить только к разностям больше чем 1, причем сжатое значение других разностей будет считаться равным нулю. Если функция f представляет собой логарифм с основанием "х", то ее можно применить к "разностям плюс 1", например, f(Vq)=log(1+|Vq-VDp|).
Таблица Т1, приведенная ниже, содержит:
- в своем первом столбце значения в начале файла цифрового изображения, называемые начальными значениями;
- во втором столбце значения, уменьшенные при использовании способа ДИКМ, соответствующие начальным значениям;
- в третьем столбце - соответствующие сжатые значения;
- в четвертом столбце - разуплотненные разностные значения;
- в пятом столбце - разуплотненные значения, с помощью способа ДИКМ, соответствующие начальным значениям; и
- в шестом столбце - отклонения, наблюдаемые между начальными значениями Vi и разуплотненными значениями VD, полученными при использовании способа ДИКМ.
Дополнительная функция f сжатия, которая используется в этом примере для получения значений третьего столбца, представляет собой функцию квадратного корня от абсолютного значения разности D, или:
VC=f(D)=√|D|.
Таблица Т1
Vi
D
VC=f(D)
F<sup>1</sup>(VC)
VD
E
142
142
142
139
- 3
-2
- 4
138
-1
165
26
5
25
163
-2
157
- 8
-3
- 9
154
-3
154
- 3
-2
- 4
150
-4
160
6
2
4
154
-6
166
6
2
4
158
-8
В таблице Т1 имеется семь начальных значений Vi последовательности S, в том числе первое значение Va=142.
Следует отметить, что в способе ДИКМ, иллюстрированном в таблице 1, ошибка Е между восстановленными значениями VD и начальными значениями Vi увеличивается в абсолютном значении до тех пор, пока она не достигнет 8, то есть ошибка составляет 8/166 # 5%. Очевидно, что для фактического файла, содержащего последовательность S более семи значений, ошибка Е может достичь значительно более высоких показателей.
Таблица Т2, приведенная ниже, содержит:
- в своем первом столбце - те же самые значения, что и в начале файла цифрового изображения, как в столбце 1 таблицы 1;
- во втором столбце - разностные значения, соответствующие начальным значениям, уменьшенным при использовании способа согласно настоящему изобретению;
- в третьем столбце - сжатые разностные значения;
- в четвертом столбце - разуплотненные разностные значения; и
- в пятом столбце - значения, полностью разуплотненные при использовании способа согласно настоящему изобретению, соответствующие начальным значениям; и
- в шестом столбце - отклонения, наблюдаемые между начальными значениями Vi и разуплотненными значениями VD, полученными при использовании способа согласно настоящему изобретению.
Дополнительная функция f сжатия, используемая в этом примере для получения значений третьего столбца, является такой же, как и та, которая используется в случае таблицы Т1, то есть в функция квадратного корня.
Таблица Т2
Vi
D
VC=f(D)
F<sup>1</sup>(VC)
VD
E
142
142
142
139
- 3
-2
- 4
138
-1
165
27
5
25
163
-2
157
- 6
-2
- 4
159
2
154
- 5
-2
- 4
155
1
160
5
2
4
159
-1
166
7
3
4
168
2
Следует отметить, что в способе согласно настоящему изобретению, иллюстрированном в таблице 2, ошибка Е между восстановленными значениями VD и начальными значениями Vi является стабильной в абсолютном значении и не превышает 2, то есть ошибка составляет 2/166 # 1%. Эта стабильность воспроизводится, вне зависимости от количества начальных значений Vi последовательности S.
На фиг.1 проиллюстрирована на том же самом графике с теми же самыми шкалами последовательность S значений Vi из первого столбца таблиц 1 и 2, последовательность S1 соответствующих сжатых и разуплотненных значений при использовании способа ДИКМ, составляющая пятый столбец таблицы 1, и последовательность S2 соответствующих сжатых и разуплотненных значений при использовании способа согласно настоящему изобретению, составляющая пятый столбец таблицы 2.
Следует отметить, что последовательность S1 восстановленных значений, полученных при использовании способа ДИКМ, имеет тенденцию отклоняться от последовательности начальных значений. Это связано с тем, что во время разуплотнения с помощью способа ДИКМ ошибки, вызванные сжатием-разуплотнением, накапливаются друг с другом по мере удаления от исходного значения Va, проходящего через последовательность S начальных значений.
Следует отметить, что последовательность S2 восстановленных значений, полученных при использовании способа согласно настоящему изобретению, очень близка к последовательности начальных значений и не отклоняется от нее. Это демонстрирует преимущество способа согласно настоящему изобретению.
Таблицы Т3 и Т4 аналогичны таблицам Т1 и Т2 соответственно. В примере, иллюстрированном в таблицах Т3 и Т4, а также на фигуре 2, последовательность S начальных значений идентична той, которая используется для таблиц Т1 и Т2, но дополнительная функция f сжатия, которая используется для получения значений третьего столбца, представляет собой функцию кубического корня.
Таблица Т3
Vi
D
VC=f(D)
F<sup>1</sup>(VC)
VD
E
142
142
142
139
- 3
-1
- 1
141
2
165
26
3
27
168
3
157
- 8
-2
- 8
160
3
154
- 3
-1
- 1
159
5
160
6
2
8
167
7
166
6
2
8
175
9
Таблица Т4
Vi
D
VC=f(D)
F<sup>1</sup>(VC)
VD
E
142
142
142
139
- 3
-1
- 1
141
2
165
24
3
27
168
3
157
- 11
-2
- 8
160
3
154
- 6
-2
- 8
152
-2
160
8
2
8
160
-
166
6
2
8
168
2
Следует отметить, что в способе ДИКМ, иллюстрированном в таблице 3, ошибка Е между восстановленными значениями VD и начальными значениями Vi увеличивается до тех пор, пока она не достигнет 9, то есть ошибка составляет 9/166 > 5%. Очевидно, что для реального файла, содержащего последовательность S более семи значений, ошибка Е вероятно достигнет гораздо более высоких показателей.
Следует отметить, что в способе согласно настоящему изобретению, иллюстрированному в таблице 4, ошибка Е между восстановленными значениями VD и начальными значениями Vi является стабильной в абсолютном значении и не превышает 3, то есть ошибка составляет 2/166<2%. Эта стабильность является воспроизводимой вне зависимости от количества начальных значений Vi последовательности S.
На фиг.2 проиллюстрирована на том же самом графике с теми же самыми шкалами последовательность S значений Vi из первого столбца таблиц 3 и 4, последовательность S3 соответствующих сжатых и разуплотненных значений при использовании способа ДИКМ, составляющая пятый столбец таблицы 3, и последовательность S4 соответствующих сжатых и разуплотненных значений при использовании способа согласно настоящему изобретению, составляющая пятый столбец таблицы 4.
Следует отметить, что последовательность S3 восстановленных значений, полученных при использовании способа ДИКМ, имеет тенденцию к отклонению от последовательности начальных значений даже более сильно, чем последовательность S1. Следует отметить, что последовательность S4 восстановленных значений, полученных при использовании способа согласно настоящему изобретению, очень близка к последовательности начальных значений и не отклоняется от нее. Это дополнительно демонстрирует преимущество способа согласно настоящему изобретению.
Конечно, настоящее изобретение не ограничивается вышеописанными примерами.
Таким образом, дополнительная функция сжатия может представлять собой функцию типа n-го корня, причем значение n становится больше по мере увеличения предсказываемых разностей между двумя последовательными значениями. Дополнительная функция сжатия может представлять собой также деление на постоянную С, где С может становится больше по мере увеличения предсказываемых разностей между двумя последовательными значениями. Конечно, эти примеры не являются ограничивающими.