Можно ли определить степень совпадения двух файлов? - PullRequest
0 голосов
/ 24 декабря 2011

Для целей этого примера предположим, что существует 2 двоичных файла A и B, каждый из которых содержит, например, видео на YouTube, где

  • A содержит 5-секундное объявление
  • B не содержит рекламы
  • За исключением объявления, A содержит тот же контент, что и B
  • Общая длина файла A составляет 60 секунд
  • Общая длинафайл B равен 55 секундам

Как общее правило , если бы мы сравнивали битовые комбинации каждого файла, мы пришли бы к одному и тому же выводу: файлы содержат 55 секундобщие биты?

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

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

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

Ответы [ 2 ]

2 голосов
/ 24 декабря 2011

Это зависит от формата файла, но в ваших примерах - нет, скорее всего, нет.

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

Jar-файл с комментариями и без комментариев (или с другими комментариями):та же история;изменение длины комментария в файле повлияет на разбиение всего файла на сжимаемые блоки, поэтому все блоки после измененного комментария будут сжиматься по-разному.(Это, конечно, при условии, что JAR-файл на самом деле включает комментарии. То, что комментарии были в исходном коде, не означает, что JAR-файл будет иметь их; это зависит от настроек компилятора и так далее.)

0 голосов
/ 24 декабря 2011

Большая часть сжатия видео в наши дни выполняется с использованием алгоритмов с потерями.Сжатие выполняется как внутри кадра, так и между кадрами.Если дополнительные видеокадры, добавленные в ваше видео «A», «просачиваются» в исходный фильм из-за межкадрового сжатия, то по определению ваши два видеофайла будут разными, даже если по логике они будут одним и тем жесекунды рекламы прикреплены к передней части.Алгоритм сжатия объединит один или несколько кадров двух видео в гибрид двух, и это в корне меняет ситуацию.

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