Во-первых, вычислительная сложность, которая резко увеличивается при каждом добавлении направления вращения. Например, время оценки движения составляет «х» секунд. После добавления говорят правая рука на 90 градусов, мы опять секунды «X», так как он должен проверить то же систему отсчета окна поиска снова с вращающимся блоком. Снова после добавления левого поворота на 90 градусов, снова это добавляет еще x секунд к оценке движения и так далее. И главная проблема здесь заключается в том, что во всем кодере, как правило, оценка движения является блоком, который потребляет большую часть времени кодирования.
Второй вопрос - сложность блока компенсации движения. Если у нас есть вращательный блок в оценке или предсказании, то мы должны сгенерировать то же преобразование для генерации скомпенсированного кадра, также в кодере и декодере. Хуже всего то, что это добавляет много сложности и на стороне декодера.
Третье - это модуль прогнозирования для поддержки переменного размера блока. Стандарт всегда определяет векторы движения для фиксированных размеров блока. Если предлагаются размеры блоков вращения, то направления также должны быть стандартизированы в декодере, где блок компенсации движения, энтропийный кодер / декодер и т. Д.
Четвертая вещь - это векторное кодирование движения. Так как мы добавляем векторы вращательного движения, нам нужно добавить дополнительные биты к векторам движения. Итак, поместите эти вещи в баланс луча - «добавление дополнительных битов для каждого MV» и «повышение эффективности сжатия с использованием векторов вращательного движения», который весит Больше. Если баланс сбалансирован или если «добавление дополнительных битов для каждого MV» весит больше, то использование вращательных MV не имеет смысла.
Пятое касается глубокого понимания блок-схемы кодера. Кодер, который мы используем, аналогичен адаптивному модулятору дифференциального импульсного кода или любому аналогичному типу с прогнозирующим кодированием. Видеосигнал всегда кодируется дифференциально. Когда видеосигнал или любой другой сигнал кодируются по-разному, разница во времени между предыдущей и текущей выборками бесконечно мала (здесь 1 / частота кадров), так что отдельные блоки всегда следуют поступательному направлению. Итак, мы используем, ротационные MV только в том случае, если мы используем несколько опорных кадров, когда опорный кадр больше, чем частота кадров, или, по крайней мере, больше, чем размер GOP. Таким образом, в этом случае вращающиеся MV могут дать очень небольшое улучшение PSNR или значительно увеличить время оценки движения.
Другое дело о субъективном и статистическом изучении направления движения.
Несмотря на все это, в JCT-VC есть некоторые предложения по реализации этого, но в конечном итоге они не утверждены в текущем стандарте HEVC. Может быть, они попытаются выяснить это и решить все проблемы в будущем.