Устройство кодирования изображения и способ для предсказания сдвига с использованием согласования поворота
Иллюстрации
Показать всеИзобретение относится к кодированию изображения и, в частности, к устройству кодирования изображения и способу для повышения коэффициента сжатия видеосигнала посредством предсказания сдвига с использованием согласования поворота. Технический результат заключается в повышении коэффициента сжатия данных. В устройстве кодирования изображения для кодирования сигнала изображения предсказатель сдвига вычисляет векторы MV посредством оценки сдвига предыдущего кадра, являющегося опорным кадром для входного текущего кадра, модуль поворота и согласования вычисляет углы поворота текущего кадра посредством оценки поворота предыдущего кадра относительно текущего кадра, устройство извлечения поворота извлекает опорный кадр согласно углам поворота, компенсатор сдвига восстанавливает кадр с извлеченным поворотом с использованием векторов MV и выводит кадр с предсказанным сдвигом, и кодер генерирует сигнал разности между текущим кадром и кадром с предсказанным сдвигом и кодирует сигнал разности, векторы MV и углы поворота. 2 н. и 16 з.п. ф-лы, 10 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится, в основном, к кодированию изображения. В частности, настоящее изобретение относится к устройству кодирования изображения и способу для повышения коэффициента сжатия видеосигнала посредством предсказания сдвига с использованием согласования поворота.
Уровень техники
Как известно, дискретизированный сигнал изображения обеспечивает лучшее качество неподвижного изображения, чем аналоговый сигнал. Если видеосигнал, содержащий последовательность кадров изображения оцифровывают, то для воспроизведения изображения с высоким качеством должно быть передано большое количество данных. Однако доступная полоса частот для транспортного канала ограничена. Соответственно, при передаче большого количества данных требуется сокращение размера данных посредством сжатия.
Среди различных способов сжатия изображения как наиболее эффективные известны вероятностное кодирование и гибридное кодирование, являющиеся комбинацией схем временного и пространственного сжатия. Эти способы подробно раскрыты в Рекомендациях Экспертной Группы по Кинематографии (MPEG)-1/2/3, H.261/263/264, и Объединенной Группы Экспертов по Машинной Обработке Фотографических Изображений (JPEG), которые были стандартизированы международными институтами стандартизации.
Большинство схем гибридного кодирования используют дифференциальную импульсно-кодовую модуляцию (DPCM, ДИКМ) с компенсацией перемещения объекта, Дискретное Косинусное Преобразование (DCT, ДКП), квантование коэффициентов DCT и кодирование с переменной длиной поля записи (VLC, КПД). DPCM с компенсацией перемещения объекта обнаруживает сдвиг (разность) объекта между предыдущим кадром и текущим кадром, предсказывает текущий кадр согласно сдвигу и генерирует сигнал разности, представляющий разность между текущим кадром и оценкой. Двумерное DCT использует или удаляет пространственную избыточность между видеоданными. Оно преобразует блоки цифровых видеоданных в коэффициенты DCT. При выполнении для коэффициентов DCT квантования, сканирования и VLC количество данных передачи существенно уменьшается.
В частности, для устранения временной избыточности между изображениями DPCM с компенсацией перемещения объекта предсказывает текущий кадр из предыдущего кадра, основываясь на оцененном сдвиге объекта между предыдущим кадром и текущим кадром. Оцененный сдвиг может быть выражен как двумерный вектор движения (MV,ВД), который представляет смещение между предыдущим кадром и текущим кадром.
Существует несколько подходов к оценке смещения объекта. Оценка смещения объекта классифицируется на два типа: оценку сдвига на основе блока с использованием алгоритма согласования блоков и оценку сдвига на основе пикселя с использованием рекурсивного алгоритма пикселя.
При оценке сдвига на основе пикселя для каждого пикселя вычисляют MV, представляющий смещение. Несмотря на преимущества более точной оценки значений пикселя и простое изменение масштаба (например, изменение масштаба изображения), если сгенерировано большое количество векторов MV, все вектора MV не могут быть переданы.
При оценке сдвига на основе блока блок предварительно определенного размера в текущем кадре сравнивают с соответствующими блоками, каждый из которых сдвинут на один пиксель от предыдущего блока, в блоке поиска предварительно определенного диапазона в предыдущем кадре, и обнаруживают блок согласованный наилучшим образом, имеющий наименьшую ошибку. Результатом этой операции является набор векторов смещения всех блоков между предыдущим кадром и текущим кадром. Подобие между двумя соответствующими блоками в предыдущем и текущем кадрах определяется с использованием Суммы Абсолютных Разностей (SAD,САР) или Суммы Квадратных Разностей (СКР).
Хотя были исследованы многие способы вычисления разности во времени между предыдущим кадром и текущим кадром для предсказания сдвига в области видеосжатия, как описано выше, они обычно основаны на концепции, что каждый блок поиска перемещается вертикально и горизонтально.
Распространение цифровых камер, обеспечивающих возможность фотографирования статических изображений и движущихся изображений, и портативных телефонов, имеющих встроенную мини-камеру, может способствовать частому использованию не только экспертами, но и обычными пользователями камер без камерного штатива. Следовательно, часто вертикальное и горизонтальное панорамирование и наклон камеры вызывают вибрации и "дрожание" изображения. Практически, камера поворачивается в любом направлении в трехмерном пространстве, но изображение, захваченное камерой, отображается в двумерный кадр изображения. Поэтому вибрация и "дрожание" изображения проявляются, как поворот двумерного кадра изображения.
Фиг. 1 иллюстрирует пример поворота целого изображения, вызванного дрожанием рук. Согласно фиг. 1, хотя только один блок в предыдущем кадре фактически изменен в текущем кадре, разность между предыдущим и текущим кадрами становится большей ввиду поворота полного изображения, вызванного дрожанием рук.
Фиг. 2 иллюстрирует другой пример поворота изображения. Целое изображение не поворачивается, но только один объект в предыдущем кадре изменен в текущем кадре. Хотя непосредственно объект изменен не сильно, поворот объекта увеличивает разность между предыдущим и текущим кадрами. Так как определенный блок поворачивается, между кадром перед поворотом и кадром после поворота всегда существует некоторая разность. Когда разность становится большой, коэффициент сжатия изображения уменьшается.
Как описано выше, обычная технология кодирования изображения, MPEG и серии H.26x не направлены на двумерный поворот сдвигающегося блока. Соответственно, даже когда объект не совершает никакого сдвига, предполагается, что произошел большой сдвиг, вследствие этого приводя к большому MV. Такой большой MV повышает коэффициент сжатия изображения, вызывая уменьшение эффективности передачи. Особенно в системе мобильной связи, которая передает данные изображения через радиоинтерфейс, повышение коэффициента сжатия изображения существенно снижает эффективность ресурсов радиосвязи.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задачей настоящего изобретения является решение, по существу, по меньшей мере вышеупомянутых проблем и обеспечение по меньшей мере преимуществ, приведенных ниже. Соответственно, задачей настоящего изобретения является обеспечение устройства кодирования изображения и способа для предсказания сдвига с использованием согласования поворота изображения.
Другой задачей настоящего изобретения является обеспечение устройства кодирования изображения и способа для повышения коэффициента сжатия данных изображения посредством обеспечения информации поворота изображения.
Решение вышеупомянутых задач достигается посредством обеспечения устройства кодирования изображения и способа для повышения коэффициента сжатия видеосигнала посредством предсказания сдвига с использованием согласования поворота.
Согласно одному аспекту настоящего изобретения в устройстве кодирования изображения для кодирования сигнала изображения предсказатель сдвига вычисляет векторы движения (MV), оценивая сдвиг предыдущего кадра, содержащего опорный кадр для входного текущего кадра, модуль поворота и согласования вычисляет углы поворота текущего кадра, оценивая поворот предыдущего кадра по сравнению с текущим кадром, устройство извлечения поворота извлекает опорный кадр согласно углам поворота и выводит кадр с извлеченным поворотом, компенсатор сдвига восстанавливает кадр с извлеченным поворотом с использованием векторов MV и выводит кадр с предсказанным сдвигом, и кодер генерирует сигнал разности, указывающий разность между текущим кадром и кадром с предсказанным сдвигом, и кодирует сигнал разности, векторы MV и углы поворота.
Согласно другому аспекту настоящего изобретения в способе кодирования изображения для кодирования сигнала изображения вычисляют векторы движения (MV) посредством оценки сдвига предыдущего кадра, содержащего опорный кадр для входного текущего кадра, вычисляют углы поворота текущего кадра посредством оценки поворота предыдущего кадра относительно текущего кадра, извлекают опорный кадр согласно углам поворота, восстанавливают результирующий кадр с извлеченным поворотом с использованием векторов MV, генерируют сигнал разности, указывающий разность между текущим кадром и кадром с предсказанным сдвигом, и кодируют сигнал разности, векторы MV и углы поворота.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Описанные выше и другие задачи, признаки и преимущества настоящего изобретения станут более очевидны из следующего подробного описания с учетом приложенных чертежей.
Фиг.1 иллюстрирует пример поворота целого изображения в результате дрожания руки при использовании обычного устройства захвата изображения.
Фиг.2 иллюстрирует другой пример поворота изображения при использовании обычного устройства захвата изображения.
Фиг.3 является блочной диаграммой обычного устройства кодирования изображения.
Фиг.4 и фиг. 5 иллюстрируют примеры предсказания сдвига при использовании предсказателя сдвига, иллюстрируемого на фиг. 3.
Фиг.6 является блочной диаграммой устройства кодирования изображения согласно варианту осуществления настоящего изобретения.
Фиг.7 иллюстрирует зависимость между повернутым блоком и расширенным блоком, согласно варианту осуществления настоящего изобретения.
Фиг.8 является блок-схемой, иллюстрирующей операцию компенсации сдвига, согласно варианту осуществления настоящего изобретения.
Фиг.9 является блок-схемой, иллюстрирующей операцию поворота и согласования, согласно варианту осуществления настоящего изобретения.
Фиг.10 является блок-схемой, иллюстрирующей операцию кодирования изображения, согласно варианту осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Ниже будет описан вариант осуществления настоящего изобретения в отношении приложенных чертежей. В последующем описании известные функции или конструкции не описаны подробно, так как они затруднили бы понимание изобретения ненужной детализацией.
Вариант осуществления настоящего изобретения минимизирует разность, вызванную поворотом между блоком в текущем кадре и опорном кадре, посредством поворота опорного блока и сравнения текущего блока кадра с повернутыми опорными блоками при обнаружении блока, согласованного наилучшим образом для блока текущего кадра, для предсказания сдвига для обнаружения разности между изображениями.
Фиг. 3 является блочной диаграммой обычного устройства кодирования изображения. Согласно фиг. 3 входные данные текущего кадра буферизированы во входном буфере 105. Данные текущего кадра являются информацией изображения, составленной в кадр. Он содержит такое количество значений пикселей, сколько пикселей в кадре. Входной буфер 105 обеспечивает текущий кадр в вычитающее устройство 115 и предсказатель 110 сдвига.
Предсказатель 110 сдвига вычисляет векторы движения (MV), указывающие смещения блоков текущего кадра относительно соответствующих блоков в опорном кадре. Опорный кадр является восстановленным предыдущим кадром, буферизированным в опорном буфере 160. Принцип предсказания сдвига будет описан позже согласно фиг.4 и фиг.5. Компенсатор 165 сдвига восстанавливает текущий кадр с скомпенсированным сдвигом посредством компенсации для блоков опорного кадра, буферизированных в опорном буфере 160, согласно векторам MV и обеспечивает текущий кадр с компенсированным сдвигом в вычитающее устройство 115.
Теперь будет более подробно описано действие предсказателя 110 сдвига. Предсказатель 110 сдвига сегментирует текущий кадр в квадратные блоки размера N (например, N=16 пикселей), ищет опорный кадр для каждого из блоков и определяет блоки, согласованные наилучшим образом с блоками текущего кадра. Поскольку поиск целого опорного кадра требует слишком большого количества вычислений, опорный кадр ищется через окно поиска идентичного размера, которое перемещается на один или половину пикселя в стороны, вверх и вниз от позиции соответствующего блока текущего кадра в опорном кадре. Для поиска опорного кадра доступны многие схемы поиска, такие как полный поиск, ромбовидный поиск, трех-шаговый поиск и т.д. Все они известны и не входят в объем настоящего изобретения. Соответственно, их описание здесь не приведено.
Когда для блока текущего кадра найден соответствующий блок в опорном кадре, предсказатель 110 сдвига измеряет подобие между двумя блоками посредством их сопоставления. Подобие может быть измерено посредством известных вычислительных формул. Здесь используется Сумма Абсолютных Разностей (SAD,САР). SAD вычисляется посредством следующего уравнения:
где является значением i-го пикселя блока текущего кадра и является значением i-го пикселя блока опорного кадра.
Предсказатель 110 сдвига обнаруживает блок опорного кадра, имеющий минимальную SAD относительно блока текущего кадра, и возвращает MV блока текущего кадра в обнаруженный блок опорного кадра.
Фиг.4 и фиг.5 иллюстрируют примеры предсказания сдвига в предсказателе 110 сдвига. Фиг.4 иллюстрирует текущий кадр, принятый на одну продолжительность кадра после опорного кадра. Как иллюстрировано на фиг.4, текущий кадр идентичен опорному кадру за исключением сдвига одного объекта. Для блока с координатами (3, 3) в текущем кадре обнаружен блок с координатами (1,1) в опорном кадре, как иллюстрировано на фиг.5. MV блока (3, 3) в текущем кадре в блок (1, 1) в опорном кадре является (-2, 2).
Вычитающее устройство 115 вычитает каждый блок с скомпенсированным сдвигом, принятый из компенсатора 165 сдвига, из соответствующего блока текущего кадра и генерирует сигнал разности, содержащий результирующий пиксель разности. Устройство 120 Дискретного Косинусного Преобразования 120 (DCT) преобразует сигнал разности пространственной области в набор коэффициентов DCT, представляющих полосу частот. Квантователь 125 квантует коэффициенты DCT с использованием предварительно определенного размера шага квантования. Задача квантования заключается в том, чтобы представить оставшиеся малые коэффициенты DCT, отличные от нуля, нулями и уменьшить дисперсию квантованных коэффициентов ниже дисперсии исходных коэффициентов DCT для эффективного кодирования. Сканер 130 переупорядочивает квантованные коэффициенты DCT в порядке от двухмерных к одномерным и от низкой частоты к высокой частоте.
Кодер 135 переменной длины (VLC) кодирует с переменной длиной данные, принятые из сканера 130, совместно с предварительно определенной информацией управления и обеспечивает выходной буфер 140 выходным кадром размера, сжатого относительно текущего кадра. Кодирование с переменной длиной относится к энтропийному кодированию, в котором короткий код назначают значению, имеющему высокую вероятность возникновения, и длинный код назначают значению, имеющему низкую вероятность возникновения. Информация управления содержит векторы MV блоков текущего кадра от соответствующих им блоков предыдущего кадра.
Между тем деквантизатор 145 деквантизирует квантованные данные в коэффициенты DCT. Устройство 150 обратного DCT (IDCT) преобразует коэффициенты DCT в сигнал разности пространственной области. Объединитель 155 объединяет текущий кадр с скомпенсированным сдвигом, принятый из компенсатора 165 сдвига, с сигналом разности, принятым из IDCT 150, и сохраняет результирующий кадр, как опорный кадр для следующего кадра, в опорном буфере 160.
Как описано ранее, предсказатель 110 сдвига обнаруживает соответствующий блок, перемещая окно поиска в опорном кадре вверх и вниз, влево и вправо. Вследствие этого входное изображение дрожит или возникает потеря коэффициента сжатия от сдвига при повороте объекта в изображении. Согласно варианту осуществления настоящего изобретения для решения проблемы обнаруживают угол поворота, имеющий наименьшую разность между соответствующим опорным блоком и блоком текущего кадра, при повороте опорного блока, определенного предсказателем 110 сдвига, каждый раз на предварительно определенный угол. Сжимают только разность между повернутым опорным блоком и текущим блоком кадра, вследствие этого предотвращая внесенную поворотом потерю коэффициента сжатия изображения.
Фиг.6 является блочной диаграммой устройства кодирования изображения согласно варианту осуществления настоящего изобретения. Сравнение между фиг.3 и фиг.6 показывает, что в устройстве кодирования изображения фиг.6 дополнительно содержатся модуль 270 поворота и согласования и устройство 275 извлечения поворота. Компоненты, не относящиеся к предметной области настоящего изобретения, от вычитающего устройства 215 до VLC 235, все вместе будут называться кодером в отличие от устройства кодирования изображения, содержащего все компоненты, иллюстрируемые на фиг.6.
Согласно фиг. 6 входные данные текущего кадра буферизованы во входном буфере 205. Данные текущего кадра являются информацией изображения, составленной в кадр. Они содержат столько значений пикселей, каково количество пикселей в кадре. Входной буфер 205 обеспечивает текущий кадр в вычитающее устройство 215 и предсказатель 210 сдвига.
Предсказатель 210 сдвига вычисляет вектора MV, указывающие смещения блоков текущего кадра относительно соответствующих блоков в опорном кадре. Опорным кадром является восстановленный предыдущий кадр, буферизированный в опорном буфере 260. Компенсатор 265 сдвига восстанавливает текущий кадр с скомпенсированным сдвигом посредством компенсации блоков опорного кадра, буферизированного в опорном буфере 260, согласно векторам MV, и обеспечивает текущий кадр с скомпенсированным сдвигом в вычитающее устройство 215.
Предсказатель 210 сдвига сегментирует текущий кадр на квадратные блоки размера N (например, N=16 пикселей), ищет опорный кадр для каждого из блоков и обнаруживает блоки, согласованные наилучшим образом с блоками текущего кадра. Затем предсказатель 210 сдвига определяет вектора MV блока текущего кадра в соответствующие опорные блоки опорного кадра.
Модуль 270 поворота и согласования обнаруживает углы поворота, при которых опорные блоки являются наиболее подобными соответствующим блокам текущего кадра, при повороте опорных блоков каждый раз на предварительно определенный угол. Повернутый блок является частью расширенного блока, созданного посредством поворота опорного блока. Фиг.7 иллюстрирует зависимость между повернутым блоком и расширенным блоком. Если размер опорного блока составляет NxN, то расширенный блок имеет размер N'xN', покрывая повернутые варианты опорного блока. N' вычисляется с использованием следующего уравнения:
где N является горизонтальной и вертикальной длиной опорного блока, и является углом поворота повернутого блока.
Пиксели расширенного блока вычисляются с использованием следующего уравнения:
где (x, y) являются координатами пикселя в опорном блоке и (x', y') являются координатами пикселя в расширенном блоке.
Так как новые значения пикселя, являющиеся результатом поворота, являются вещественными числами, они посредством интерполяции преобразуются в дискретные данные изображения. Если опорный блок находится на границе опорного кадра, пиксели вне опорного кадра являются нулями. Повернутый опорный блок является блоком, отсеченным размером NxN от центра расширенного блока. То есть модуль 270 поворота и согласования увеличивает или уменьшает угол поворота опорного блока на /180 каждый раз в пределах диапазона между -/4 и /4, вычисляет SAD между блоком, повернутым на угол поворота, и текущим блоком, и обнаруживает угол поворота повернутого блока, SAD которого меньше, чем SAD опорного блока перед поворотом, относительно текущего блока.
Устройство 275 извлечения поворота извлекает блоки опорного кадра, сохраненного в опорном буфере 260, согласно углам поворота, обнаруженным модулем 270 поворота и согласования. Компенсатор 265 сдвига восстанавливает текущий кадр с скомпенсированным сдвигом посредством компенсации блоков с извлеченным поворотом из опорного кадра, согласно векторам MV, вычисленным предсказателем 210 сдвига, и обеспечивает текущий кадр с скомпенсированным сдвигом в вычитающее устройство 215.
Вычитающее устройство 215 вычитает блоки с скомпенсированным сдвигом, принятые из компенсатора 265 сдвига, из блоков текущего кадра и генерирует результирующий сигнал разности, содержащий значения разности пикселей. DCT 220 преобразует сигнал разности пространственной области в набор коэффициентов DCT, представляющий полосу частот. Квантователь 225 квантует коэффициенты DCT с использованием предварительно определенного размера шага квантования. Сканер 230 переупорядочивает квантованные коэффициенты DCT в порядке от двумерных к одномерным и от низкой частоты к высокой частоте.
VLC 235 кодирует с переменной длиной данные, принятые из сканера 230, совместно с предварительно определенной информацией управления и обеспечивает выходной буфер 240 выходным кадром размера, сжатого относительно текущего кадра. Информация управления содержит векторы MV и углы поворота блоков текущего кадра относительно соответствующих блоков предыдущего кадра.
Между тем деквантизатор 245 деквантизирует квантованные данные в коэффициенты DCT. IDCT 250 преобразует коэффициенты DCT в сигнал разности пространственной области. Объединитель 255 объединяет текущий кадр с скомпенсированным сдвигом, принятый из компенсатора 265 сдвига, с сигналом разности, принятым из IDCT 250, и сохраняет результирующий кадр, как опорный кадр для предсказания сдвига и компенсации сдвига для следующего кадра, в опорном буфере 260.
Теперь согласно фиг.8, фиг.9 и фиг.10 будет более подробно описана операция кодирования изображения согласно варианту осуществления настоящего изобретения. Следует отметить, что последующее описание операции кодирования изображения сделано относительно только одного блока текущего кадра, но операция выполняется на каждом блоке текущего кадра.
Фиг.8 является блок-схемой, иллюстрирующей действие предсказателя 210 сдвига согласно варианту осуществления настоящего изобретения.
Согласно фиг.8 предсказатель 210 сдвига принимает один блок NxN текущего кадра на этапе 300. Входной блок определен как текущий блок. На этапе 302 предсказатель 210 сдвига ищет блок, наиболее подобный текущему блоку, то есть блок, имеющий минимальную SAD относительно текущего блока, в опорном кадре. Этот блок определен как опорный блок. Предсказатель 210 сдвига на этапе 304 выводит MV текущего блока в опорный блок и SAD между опорным и текущим блоками. SAD считается опорной SAD.
Фиг. 9 является блок-схемой, иллюстрирующей действие модуля 270 поворота и согласования согласно варианту осуществления настоящего изобретения. Хотя случаи увеличения и уменьшения угла поворота от 0 описаны в одной процедуре, практически они выполняются отдельно.
Согласно фиг. 9 модуль 270 поворота и согласования принимает текущий блок и его опорный блок из предсказателя 210 сдвига, и угол поворота устанавливают в 0 на этапе 310. На этапе 312 увеличивают (или уменьшают) на /180. На этапе 314 определяют расширенный блок размера N'xN', содержащий опорный блок, повернутый на угол поворота. На этапе 316 модуль 270 поворота и согласования создает повернутый блок в центре расширенного блока, отсекая расширенный блок в NxN от его центра.
На этапе 318 модуль 270 поворота и согласования вычисляет новую SAD, то есть SAD поворота, сравнивая пиксели повернутого блока с пикселями текущего блока. На этапе 320 SAD поворота сравнивают с опорной SAD, принятой из предсказателя 310 сдвига. Если разность при вычитании опорной SAD из SAD поворота меньше порога TH, то модуль 270 поворота и согласования переходит к этапу 322. Если разность равна или больше TH, то модуль 270 поворота и согласования переходит к этапу 326. Предпочтительно TH не меньше 0, (составляет) 10% или менее от опорной SAD.
На этапе 322 модуль 270 поворота и согласования определяет, является ли SAD поворота наименьшей из разностей SAD поворотов, полученных из предыдущих углов поворота. Если это так, то модуль 270 поворота и согласования сохраняет на этапе 324 текущий угол поворота и определяет на этапе 326, является ли текущий угол поворота равным /4 (в случае уменьшения угла -/4). Если не является равным /4, то модуль 270 поворота и согласования возвращается к этапу 312. Если является равным /4, то модуль 270 поворота и согласования переходит к этапу 328 (после операции уменьшения угла поворота, если операция уменьшения угла еще не была выполнена). На этапе 328 модуль 270 поворота и согласования выводит сохраненный угол поворота. Если разность при вычитании опорной SAD из каждой SAD поворота не меньше TH, то выходной угол поворота является равным 0.
Фиг. 10 является блок-схемой, иллюстрирующей операцию кодирования изображения, согласно варианту осуществления настоящего изобретения. Операция кодирования изображения происходит в кодере, содержащем блоки от вычитающего устройства 215 до VLC 235, как иллюстрировано на фиг. 6.
Согласно фиг. 10 вычитающее устройство 215 генерирует на этапе 330 сигнал разности между каждым блоком текущего кадра и соответствующим блоком кадра с предсказанным сдвигом и извлеченным поворотом. DCT, 220 преобразует на этапе 332 сигнал разности в коэффициенты DCT и эквалайзер 225 квантует на этапе 334 коэффициенты DCT. Сканер 230 переупорядочивает на этапе 336 квантованные коэффициенты DCT, и VLC 235 генерирует выходной кадр посредством кодирования данных, принятых из сканера 230, совместно с векторами MV, определенными при операции, иллюстрируемой на фиг.7, и углами поворота, определенными при операции, иллюстрируемой на фиг. 9 на этапе 338. На этапе 340 выходной кадр передают после предварительно определенной обработки.
Существенными преимуществами описанного выше варианта осуществления настоящего изобретения являются следующие.
Вариант осуществления настоящего изобретения предотвращает уменьшение коэффициента сжатия, вызванное поворотом входного изображения, вследствие этого повышая эффективность передачи. В частности, вариант осуществления настоящего изобретения эффективно предотвращает увеличение количества битов, что является проблемой, возникающей вследствие неустойчивости изображения, вызванной дрожанием руки.
Хотя изобретение было изображено и описано согласно его некоторому варианту осуществления, для специалистов в данной области техники должно быть понятно, что в нем могут быть сделаны различные изменения по форме и в деталях, не удаляясь от сути и не выходя за пределы объема изобретения, определенных прилагаемой формулой изобретения.
1. Устройство кодирования изображения для кодирования сигнала изображения, содержащее:
предсказатель сдвига для вычисления векторов движения (MV), посредством оценки сдвига предыдущего кадра, содержащего опорный кадр, относительно входного текущего кадра,
модуль поворота и согласования для обнаружения углов поворота текущего кадра посредством оценки поворота предыдущего кадра по сравнению с текущим кадром,
устройство извлечения поворота для извлечения опорного кадра, согласно углам поворота, и вывода кадра с извлеченным поворотом,
компенсатор сдвига для восстановления кадра с извлеченным поворотом с использованием векторов MV и вывода кадра с предсказанным сдвигом, и
кодер для кодирования сигнала разности, указывающего разность между текущим кадром и кадром с предсказанным сдвигом, векторов MV и углов поворота и вывода выходного кадра.
2. Устройство кодирования изображения по п.1, в котором модуль поворота и согласования определяет угол поворота, при котором каждый текущий блок текущего кадра имеет наименьшую разность с опорным блоком, соответствующим текущему блоку в опорном кадре, при повороте опорного блока на предварительно определенный единичный угол.
3. Устройство кодирования изображения по п.1, в котором предсказатель сдвига вычисляет MV каждого текущего блока текущего кадра, причем MV представляет смещение текущего блока текущего кадра относительно опорного блока опорного кадра, соответствующего текущему блоку, и генерирует разность между текущим блоком и опорным блоком, как опорную разность.
4. Устройство кодирования изображения по п.3, в котором разностью является сумма разностей между пикселями текущего блока и пикселями опорного блока.
5. Устройство кодирования изображения по п.2, в котором модуль поворота и согласования, при повороте опорного блока на углы поворота, каждый угол поворота изменяет относительно предыдущего угла поворота на предварительно определенный единичный угол, и определяет расширенный блок, содержащий повернутые опорные блоки, сравнивает опорную разность с разностями между повернутыми опорными блоками и текущим блоком и выводит угол поворота опорного блока, при котором разность при вычитании опорной разности из разности между опорным блоком и текущим блоком меньше предварительно определенного порога.
6. Устройство кодирования изображения по п.5, в котором порог не меньше нуля, и не больше 10% от опорной разности.
7. Устройство кодирования изображения по п.1, в котором кодер содержит:
вычитающее устройство для генерации сигнала разности между текущим кадром и кадром с извлеченным поворотом,
устройство дискретного косинусного преобразования (DCT) для DCT-обработки сигнала разности в коэффициенты DCT,
квантователь для квантования коэффициентов DCT,
сканер для переупорядочивания квантованных коэффициентов DCT,
кодер переменной длины для кодирования с переменной длиной переупорядоченных коэффициентов DCT совместно с векторами MV и углами поворота,
деквантизатор для деквантизации квантованных коэффициентов DCT,
устройство обратного DCT (IDCT) для ГОСТ-обработки деквантизованных коэффициентов DCT, и
объединитель для объединения выходных данных IDCT с кадром с скомпенсированным сдвигом и сохранения объединенного кадра, как нового опорного кадра.
8. Способ кодирования изображения для кодирования сигнала изображения, содержащий этапы:
вычисления векторов движения (MV) посредством оценки сдвига предыдущего кадра, содержащего опорный кадр для входного текущего кадра,
обнаружения углов поворота текущего кадра посредством оценки поворота предыдущего кадра по сравнению с текущим кадром,
извлечения опорного кадра, согласно углам поворота, и вывода кадра с извлеченным поворотом,
восстановления кадра с извлеченным поворотом с использованием векторов MV и вывода кадра с предсказанным сдвигом, и
кодирования сигнала разности, указывающего разность между текущим кадром и кадром с предсказанным сдвигом, векторов MV и углов поворота и вывода выходного кадра.
9. Способ кодирования изображения по п.8, в котором этап обнаружения угла поворота содержит этап определения угла поворота, при котором каждый текущий блок текущего кадра имеет наименьшую разность с опорным блоком, соответствующим текущему блоку в опорном кадре, при повороте опорного блока на предварительно определенный единичный угол.
10. Способ кодирования изображения по п.8, в котором этап вычисления MV содержит этап вычисления MV каждого текущего блока текущего кадра, MV представляет смещение текущего блока текущего кадра относительно опорного блока опорного кадра, соответствующего текущему блоку, и генерирует разность между текущим блоком и опорным блоком, как опорная разность.
11. Способ кодирования изображения по п.10, в котором разностью является сумма абсолютных разностей (SAD) между пикселями текущего блока и пикселями опорного блока.
12. Способ кодирования изображения по п.10, в котором этап обнаружения угла поворота содержит этапы:
поворота опорного блока на угол поворота, при этом каждый угол поворота изменяется относительно предыдущего угла поворота на предварительно определенный единичный угол, и определения расширенного блока, содержащего повернутые опорные блоки,
генерации повернутых блоков посредством отсечения расширенного блока до размера текущего блока,
вычисления разностей между повернутыми блоками и текущим блоком, и
вывода угла поворота повернутого блока, имеющего минимальную разность из числа повернутых блоков, имеющих разности меньшие, чем опорная разность на предварительно определенный порог или более.
13. Способ кодирования изображения по п.12, в котором порог больше или равен нулю, и не больше 10% от опорной разности.
14. Способ кодирования изображения по п.12, в котором предварительно определенным единичным углом является π/180.
15. Способ кодирования изображения по п.12, в котором углы поворота увеличиваются или уменьшаются в пределах диапазона между -π/4 и π/4.
16. Способ кодирования изображения по п.12, в котором расширенный блок имеет ширину и длину , где N является шириной и длиной текущего блока и опорного блока, и θ является углом поворота расширенного блока.
17. Способ кодирования изображения по п.12, в котором координаты (х', у') каждого пикселя расширенного блока вычисляется посредством
х'=xcos(θ)+ysin(θ),
у'=-х sing(θ)+уcos(θ),
где θ является углом поворота расширенного блока.
18. Способ кодирования изображения по п.8, в котором этап кодирования содержит этапы:
генерации сигнала разности между текущим кадром и кадром с извлеченным поворотом,
дискретного косинусного преобразования сигнала разности в коэффициенты дискретного косинусного преобразования (DCT),
квантования коэффициентов DCT,
переупорядочивания квантованных коэффициентов DCT,
кодирования с переменной длиной переупорядоченных коэффициентов DCT совместно с векторами MV и углом поворота,
деквантизации квантованных коэффициентов DCT,
обратного дискретного косинусного преобразования деквантизированных коэффициентов DCT, и
объединения выходных данных IDCT с кадром с скомпенсированным сдвигом и сохранения объединенного кадра, как нового опорного кадра.