Определить мето сжатия данных

User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Определить мето сжатия данных

Post by Uzito »

Попалась тут задача разобраться с файлами которые генерирует ЭКГ машина.
А файле показания амплитуды - данные состоят из X отсчётов, каждый signed int, два байта. Но размер файла довольно небольшой по сравнению с оригинальным сигналом.
Фирменный софт съедает файл и выдает результат 1.2 килобайта, а в файле этот сигнал всего байтов 200.

Ума не приложу какой алгоритм смотреть. 58 02 - 600 значений, после них сигнал.
compression method.png
You do not have the required permissions to view the files attached to this post.
User avatar
Medium-rare
Уже с Приветом
Posts: 9194
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Определить мето сжатия данных

Post by Medium-rare »

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

Довольно популярной библиотекой, применяемой здесь и там, помимо zip, который файловый компрессов, является zLib, которая проще для отдельных буферов. Ну, я лично спотыкаюсь о них. Или поджимаю наши необъятные данные перед пересылкой. А так, RLE, LZ77, LZW, arithmetic compression, такая толпа забесплатно доступных алгоритмов с имплементацией в библиотеках, которые на коленке можно прикрутить к софту.

https://stackoverflow.com/questions/905 ... -look-like
... and even then it's rare that you'll be going there...
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Определить мето сжатия данных

Post by Uzito »

Medium-rare wrote: 05 Dec 2019 21:52 Неочевидно даже, является ли меньший буфер данных целиком сжатыми данными некоторого формата?
Похоже Вы правы. В файле 12 больших кусков и 12 маленьких, нарезаных из больших. Я смотерел на маленькие, думал будет проще, а надо было на большие.
Но всё равно, 10000 байтов ужимаются раз в 7.

На больших кусках упакованый сигнал начинается на 0xFC или 0xF4.

Return to “Вопросы и новости IT”