Определение сдвижки кадров
Сдвижка кадров (Сдвижка) - это время (в миллисекундах) на которое нужно изменить время кадра, которое ему было присвоено во время записи.
Немного теории.
Для чего это нужно.
Одним из основных принципов работы ПАК Геовидео является определение координат кадров по данным ГНСС. Как это происходит? Во процессе движения дорожной лаборатории, выполняющеё съёмку, Интегратор получает и сохраняет в виде сессии информацию с приёмника ГНСС, видеокамер, сканеров и датчиков. Пакеты от ГНСС приёмника приходят с определённым интервалом, которыё обычно составляет от 200 мсек до 1 сек и содержат, помимо прочих данных, координаты местоположения и время его определения. Кадры с камер Интегратор получает по по заданным событиям. Это или пройденный путь или определённый промежуток времени. При сохранении кадра в контейнере сессии с ним так же сохраняется время события. Это позволяет определить координаты кадра, найдя две точки ГНСС, между которыми по времени он находится.
Координаты определяются пропорционально распределению времени между кадром и точками ГНСС. Для примера на рисунке выше:
(55.636116 - 55.636102) * (11:27:42.319 - 11:27:42.200)
Широта кадра = 55.636102 + ------------------------------------------------------- = 55.636110
11:27:42.400 - 11:27:42.200
(38.209270 - 38.209060) * (11:27:42.319 - 11:27:42.200)
Долгота кадра = 38.209060 + ------------------------------------------------------- = 38.209185
11:27:42.400 - 11:27:42.200
Но это в теории. На практике получается сложнее. Время точек ГНСС можно считать точным. Латентность не превышает 150 нс, что для данной работы пренебрежимо мало. А вот время, присвоенное кадру не совпадает с временем (по ГНСС), когда камера реально сделала снимок. Это происходит по ряду причин: время Интегратора несколько отличается от времени ГНСС, присутствует латентность между событием, вызывающим захват кадра и временем съёмки этого кадра камерой. По этой причине координаты кадра, вычисленные выше, не являются верными. И для того, что бы максимально приблизить вычисленные координаты кадра к реальным координатам, откуда был сделан снимок, следует изменить время кадра на некоторою величину, в терминологии Геовидео называемою сдвижкой.
Определение сдвижки
Для определения сдвижки необходимо, что бы у глобальной сессии (ГС) были виртуальные сессии (ВС), содержащие съёмку одного и того же участка дороги в прямом и обратном направлениях. Методика определения сдвижки такова. В одной из ВС нужно найти заметный элемент в кадре, который можно однозначно идентифицировать в кадре, сделанном в противоположном направлении. Это может быть дефект на покрытии, опора освещения или дорожного знака и т.п. На этом элементе следует установить маркер, координаты которого определяются на основании имеющегося времени кадра. После этого надо загрузить ВС противоположного направления, найти кадр, содержащий выбранный элемент и установить контрольную точку на этом элементе. Координаты контрольной точки будут так же вычислены на основании имеющегося у кадра времени. Проецированием координат маркера и контрольной точки на трек ГНСС определяется их время. И, в заключении, по расстоянию между маркером и контрольной точкой, их времени и скоростям движения автомобиля в момент съёмки вычисляется сдвижка, на которую следует изменить время кадров для того что бы координаты маркера и контрольной точки совпали.

Расстояние, пройденное автомобилем за время сдвижки зависит от его текущей скорости. В примере на рисунке в прямом направлении автомобиль движется медленнее. чем в обратном.
Определения сдвижки в SesViewer
Для определения сдвижки следует загрузить ВС (например прямого направления). Открыть инструмент кнопкой Сведение в панели Сессия.
Откроется немодальное диалоговое окно Сведение сессий:
На первом этапе следует выбрать на вкладку Маркеры (при открытии окна она уже активна). В разделе Текущий маркер список будет заполнен уже установленными маркерами в открытой ВС или пустой в случае их отсутствия. Под списком имеются две кнопки навигации для перехода к соседним маркерам, номер текущего маркера и общее количество маркеров в списке выше.
Описание кнопок вкладки Маркеры:
Добавить маркер - переключаемая кнопка с состояниями включено/выключено (checkbox). Повторное нажатие на кнопку переключает её состояние. В режиме включённой кнопки клик в кадре устанавливает маркер. После установки маркера кнопка отключается.

Обновить маркер - работает аналогично кнопке Добавить маркер, но в отличие от неё не создаёт новую запись, а изменяет координаты выбранного маркера.
Удалить маркер - удаляется выбранный маркер. Вместе с маркером удаляется соответствующая ему контрольная точка, т.к. она хранится в той же записи, что и маркер и не имеет смысла без маркера. Удаление выполняется после запроса на подтверждение.
Удалить все маркеры в текущей ВС - удаляются все маркеры и их контрольные точки в текущей ВС. Удаление выполняется после запроса на подтверждение.
Удалить все маркеры в титуле - удаляются ВСЕ маркеры и их контрольные точки из ВСЕХ глобальных сессий в текущем титуле. Удаление выполняется после запроса на подтверждение.
При выборе в кадре места для маркера следует принимать во внимание на сколько оно стабильно и на сколько его легко будет найти в ВС противоположного направления. Например не следует использовать тени от объектов или пунктирную разметку. Для ВС следует использовать несколько маркеров, равномерно распределённых по её длине <НУЖНО УТОЧНЕНИЕ>.
На втором этапе нужно для каждого ранее добавленного маркера установить контрольную точку (КТ). Для этого следует загрузить ВС из той же ГС, где устанавливались маркеры на предыдущем этапе и открыть инструмент Сведение сессий. На этот раз нужно выбрать вкладку Контрольные точки (КТ).
Список в группе Текущий маркер будет заполнен маркерами из виртуальных сессий противоположного относительно текущей ВС направления из той же ГС. Далее следует выбрать маркер из списка или с помощью кнопок навигации. При смене текущего маркера будет осуществлён переход на кадр, близкий к выбранному маркеру. Перемещаясь по кадрам необходимо найти в кадре точку, в которой был был установлен маркер у установить в ней контрольную точку. Контрольные точки следует установить для всех маркеров из списка в разделе Текущий маркер.
Описание элементов управления вкладки Контрольные точки (КТ):
Установить КТ - переключаемая кнопка с состояниями включено/выключено (checkbox). Повторное нажатие на кнопку переключает её состояние. В режиме включённой кнопки клик в кадре устанавливает контрольную точку к маркеру, выбранному в разделе Текущий маркер. После установки контрольной точки кнопка отключается. Если у выбранного маркеру контрольная точку уже была установлена, то она заменяется новой.
Удалить КТ - удаляется контрольная точка из маркера, выбранного в разделе Текущий маркер. Сам маркер не удаляется. Удаление выполняется без запроса на подтверждение.
Удалить все КТ в текущей ВС - удаляются все контрольные точки в текущей ВС. Маркеры не удаляется. Удаление выполняется после запроса на подтверждение.
Сохранение сдвижки... - см. ниже.
Новая сдвижка - после установки каждой контрольной точки вычисляется новое значение сдвижки для виртуальных сессий, где устанавливались маркеры и контрольные точки. Новая сдвижка вычисляется как среднее арифметическое сдвижек, вычисленных по всем маркерам из списка в разделе Текущий маркер. Значение в этом поле можно изменить вручную, если на это есть оправданные причины.
Максимальное отклонение .. мсек - максимальное отклонение вычисленной (новой) сдвижки от уже используемой в текущей ВС.
В момент установки маркера или контрольной точки производится вычисление текущей скорости автомобиля, выполняющего съёмку. Вычисление выполняется по близлежащим точкам ГНСС. Так что перед вычислением скорости осуществляется контроль качества трека ГНСС в этом месте. В случае несоответствия трека определённым условиям будет выдано соответствующее предупреждение. Если отклонение скорости между ближайшими шестью точками ГНСС более чем на 10% отличается от средней скорости между этими точками, то это повлияет на точность вычисления разности времени между маркером и контрольной точкой. Отклонение расстояния от одной из шести ближайших точек ГНСС до оси дороги отличается более чем на 0.2 м от среднего расстояния от этих точек до оси или более чем на 0.3 м от соседней точки. Это означает, что сигнал ГНСС в этом месте не стабилен и координаты кадра, а значит и координаты маркера ошибочны. Эти предупреждения не запрещают установку маркера или контрольной точки, но следует иметь ввиду низкую точность полученного результата. В связи с этим рекомендуется проконтролировать равномерность точек ГНСС на карте. Если по какой-либо причине не удалось вычислить скорость в этом месте или она получилась равной нулю, то установка маркера или контрольной точки не допускается.
После того как будут установлены все контрольные точки, станет доступна кнопка Сохранение сдвижки. Она открывает окно для выбора виртуальных сессий, к которым будет применена новая сдвижка.

В таблице представлен список всех ВС из текущий ГС для всех титулов. В верхней части таблицы жирным шрифтом выделены ВС текущего титула, по которым производился расчёт сдвижки. Под ними, если имеются, расположены ВС из других титулов, не имеющие ВС противоположного направления. Эти ВС не выделены жирным шрифтом. Колонка Новая сдвижка заполнена значением из поля Новая сдвижка вкладки Контрольные точки. Чёрным цветом отмечены значения, совпадающие с уже применённой сдвижкой и не требующие сохранения. Зелёным цветом - значения, отличающиеся от применённой сдвижки и требующие сохранения. Значения в этой колонке можно изменить вручную, если на это есть оправданные причины. В последней колонке Установить новую сдвижку галочками следует отметить те ВС, изменение сдвижки для которых следует сохранить. В случае нажатия кнопки Сохранить сохраняются все "зелёные" сдвижки где установлена галочка в последней колонке и координаты кадры в открытой ВС пересчитываются с учётом новой сдвижки. После сохранения сдвижки инструмент Сведение сессий так же будет закрыт. Кнопка Отмена закрывает окно без сохранения изменений.
Экспорт точек в txt файл - эта кнопка позволяет сохранить в текстовом файле информацию о всех маркерах и их контрольных точках в текущем титуле. Разделитель полей - запятая, кодовая страница - cp1251.

эта кнопка разворачивает/сворачивает таблицу со списком всех маркеров текущего титула. При выборе строки в таблице текущий кадр меняется на ближайший к маркеру в выбранной строке. Если строка выделена красным цветом, то это означает, что данный маркер использовать нельзя. Это может быть по двум причинам. Или запись о этом маркере хранится в старом формате или ГНСС был заменён после установки маркера. В любом случае маркер необходимо установить заново.
Поля в колонке Примечание доступны для редактирования.
Клик на заголовке столбца позволяет отсортировать таблицу по этому столбцу. Сначала выполняется сортировка по возрастанию значений в столбце. При повторном клике на заголовок того же столбца выполняется сортировка в обратном порядке.