СПОСОБ КОДИРОВАНИЯ ВИДЕО С РЕГУЛИРОВАНИЕМ БИТОВОЙ ГЛУБИНЫ ДЛЯ ПРЕОБРАЗОВАНИЯ С ФИКСИРОВАННОЙ ЗАПЯТОЙ И УСТРОЙСТВО ДЛЯ НЕГО, А ТАКЖЕ СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО И УСТРОЙСТВО ДЛЯ НЕГО
METHOD OF ENCODING VIDEO WITH ADJUSTMENT OF BIT DEPTH FOR CONVERSION WITH FIXED POINT AND DEVICE FOR IT, AS WELL AS METHOD OF DECODING VIDEO AND DEVICE FOR IT

Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видео посредством использования преобразования/обратного преобразования с фиксированной запятой.
Уровень техники
По мере того, как разрабатываются и предоставляются аппаратные средства для воспроизведения и сохранения высококачественного видеоконтента высокого разрешения, растет потребность в видеокодеке для эффективного кодирования или декодирования высококачественного видеоконтента высокого разрешения. В традиционном видеокодеке видео кодируется согласно ограниченному способу кодирования на основе макроблока, имеющего предварительно определенный размер.
Данные изображений в пространственной области преобразуются в коэффициенты в частотной области посредством преобразования. Для быстрого преобразования видеокодек разделяет изображение на блоки предварительно определенного размера и выполняет дискретное косинусное преобразование (DCT) в отношении каждого из блоков предварительно определенного размера, чтобы кодировать частотные коэффициенты в единицах блоков предварительно определенного размера. Коэффициенты в частотной области имеют формы, которые могут сжиматься проще форм данных изображений в пространственной области. В частности, пиксельные значения изображения в пространственной области выражаются с помощью прогнозных ошибок через внешнее прогнозирование или внутреннее прогнозирование видеокодека. Таким образом, когда преобразование выполняется в отношении прогнозных ошибок, большой объем данных может быть преобразован в 0. Видеокодек сокращает объем данных посредством замены данных, которые непрерывно и многократно формируются, на данные небольшого размера.
Сущность изобретения
Техническая задача
Настоящее изобретение предоставляет способ кодирования видео для регулирования диапазона кодированных выходных данных, чтобы регулировать битовую глубину в ходе восстановления кодированных выборок, и способ декодирования видео для предотвращения переполнения выходных данных при вспомогательных операциях процесса декодирования.
Техническое решение
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео, включающий в себя синтаксический анализ и восстановление квантованных коэффициентов преобразования в единицах блоков изображения из принимаемого потока битов; восстановление коэффициентов преобразования первой битовой глубины или менее посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования; и восстановление выборок второй битовой глубины или менее посредством выполнения одномерного (1D) обратного преобразования и обратного масштабирования в отношении квантованных коэффициентов преобразования.
Преимущества изобретения
Переполнение предотвращается, когда преобразование с фиксированной запятой выполняется в ходе процесса декодирования видео, в силу этого экономя аппаратные ресурсы для выполнения отсечения.
Краткое описание чертежей
Фиг. 1 является блок-схемой устройства кодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 2 является блок-схемой устройства декодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 3 иллюстрирует процесс изменения битовой глубины в системе кодирования/декодирования, согласно варианту осуществления настоящего изобретения.
Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей способ кодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей способ декодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 6 является блок-схемой устройства кодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно другому варианту осуществления настоящего изобретения.
Фиг. 7 является блок-схемой устройства декодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно другому варианту осуществления настоящего изобретения.
Фиг. 8 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 9 является блок-схемой кодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 10 является блок-схемой декодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 11 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегментам согласно варианту осуществления настоящего изобретения.
Фиг. 12 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения.
Фиг. 13 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Фиг. 14 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Фиг. 15-17 являются схемами для описания взаимосвязи между единицами кодирования, единицами прогнозирования и единицами преобразования, согласно варианту осуществления настоящего изобретения.
Фиг. 18 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 1.
Оптимальный режим осуществления изобретения
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео, включающий в себя синтаксический анализ и восстановление квантованных коэффициентов преобразования в единицах блоков изображения из принимаемого потока битов; восстановление коэффициентов преобразования первой битовой глубины или менее посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования; и восстановление выборок второй битовой глубины или менее посредством выполнения одномерного (1D) обратного преобразования и обратного масштабирования в отношении квантованных коэффициентов преобразования.
Восстановление коэффициентов преобразования может включать в себя формирование коэффициентов преобразования первой битовой глубины или менее после того, как выполняется обратное квантование, без необходимости отсекать коэффициенты преобразования, полученные посредством выполнения обратного квантования. Первая битовая глубина может быть равной размеру первого модуля хранения для сохранения коэффициентов преобразования, полученных посредством выполнения обратного квантования.
Восстановление выборок может включать в себя формирование выборок второй битовой глубины или менее после того, как выполняется 1D обратное преобразование и обратное масштабирование, без необходимости отсекать выборки, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования. Вторая битовая глубина может быть равной размеру второго модуля хранения для сохранения выборок, полученных посредством выполнения обратного преобразования и обратного масштабирования.
Синтаксический анализ и восстановление квантованных коэффициентов преобразования может включать в себя синтаксический анализ и восстановление квантованных коэффициентов преобразования, имеющих отрегулированный максимальный диапазон, таким образом, что коэффициенты преобразования первой битовой глубины или менее формируются после того, как выполняется обратное квантование, и выборки второй битовой глубины или менее формируются после того, как выполняется обратное преобразование и обратное масштабирование.
Если обратное масштабирование выполняется посредством побитового сдвига данных, которые получаются после того, как выполняется 1D обратное преобразование, на предварительно определенное битовое значение, максимальный диапазон квантованных коэффициентов преобразования может быть определен на основе числа сдвинутых битов для обратного масштабирования после того, как выполняется 1D обратное преобразование.
Согласно другому аспекту настоящего изобретения, предусмотрен способ кодирования видео, включающий в себя формирование квантованных коэффициентов преобразования посредством выполнения преобразования и квантования в единицах блоков изображения; определение максимального диапазона квантованных коэффициентов преобразования таким образом, что выходные данные, полученные посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, и/или выходные данные, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования, имеют предварительно определенную битовую глубину или менее; и регулирование диапазона квантованных коэффициентов преобразования так, что они попадают в максимальный диапазон.
Определение максимального диапазона квантованных коэффициентов преобразования может включать в себя определение максимального диапазона квантованных коэффициентов преобразования посредством использования первой битовой глубины таким образом, что коэффициенты преобразования первой битовой глубины или менее формируются без необходимости выполнять отсечение после того, как выполняется обратное квантование, в ходе восстановления выборок. Первая битовая глубина может быть равной размеру первого модуля хранения для сохранения коэффициентов преобразования.
Определение максимального диапазона квантованных коэффициентов преобразования может включать в себя определение максимального диапазона квантованных коэффициентов преобразования посредством использования второй битовой глубины таким образом, что выборки второй битовой глубины или менее формируются без необходимости выполнять отсечение после того, как выполняются 1D обратное преобразование и обратное масштабирование, в ходе восстановления выборок. Вторая битовая глубина может быть равной размеру второго модуля хранения для сохранения выборок.
Определение максимального диапазона квантованных коэффициентов преобразования может включать в себя определение максимального диапазона квантованных коэффициентов преобразования посредством использования предварительно определенного битового значения таким образом, что выборки второй битовой глубины или менее формируются посредством побитового сдвига данных, которые получаются после того, как выполняется 1D обратное преобразование, на число сдвинутых битов без необходимости отсекать выборки, полученные после того, как выполняется обратное масштабирование.
Регулирование диапазона квантованных коэффициентов преобразования может включать в себя отсечение диапазона квантованных коэффициентов преобразования так, что они попадают в максимальный диапазон.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство декодирования видео, включающее в себя приемный модуль для синтаксического анализа и восстановления квантованных коэффициентов преобразования в единицах блоков изображения из принимаемого потока битов; модуль обратного квантования для восстановления коэффициентов преобразования первой битовой глубины или менее посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования; модуль обратного преобразования для восстановления выборок второй битовой глубины или менее посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении квантованных коэффициентов преобразования; и модуль восстановления изображений для восстановления изображения посредством использования выборок, восстановленных в единицах блоков.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство кодирования видео, включающее в себя модуль квантования преобразования для формирования квантованных коэффициентов преобразования посредством выполнения преобразования и квантования в единицах блоков изображения; модуль определения максимального диапазона для определения максимального диапазона квантованных коэффициентов преобразования таким образом, что выходные данные, полученные посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, и/или выходные данные, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования, каждые имеют предварительно определенную битовую глубину или менее; и модуль вывода для регулирования диапазона квантованных коэффициентов преобразования так, что они попадают в максимальный диапазон, и вывода отрегулированных квантованных коэффициентов преобразования в потоке битов.
Согласно другому аспекту настоящего изобретения, предусмотрен считываемый компьютером носитель записи для осуществления способа декодирования видео посредством компьютера.
Согласно другому аспекту настоящего изобретения, предусмотрен считываемый компьютером носитель записи для осуществления способа кодирования видео посредством компьютера.
Лучшие варианты осуществления изобретения
Далее настоящее изобретение описывается более подробно со ссылкой на прилагаемые чертежи, на которых показаны примерные варианты осуществления изобретения.
В дальнейшем в этом документе, описываются способ кодирования видео и способ декодирования видео, осуществляемые посредством регулирования преобразования и обратного преобразования с фиксированной запятой, согласно вариантам осуществления настоящего изобретения, со ссылкой на фиг. 1-5. Способ кодирования видео и способ декодирования видео, осуществляемые на основе единиц кодирования, имеющих древовидную структуру, посредством регулирования битовых глубин преобразования и обратного преобразования с фиксированной запятой, согласно вариантам осуществления настоящего изобретения, описываются со ссылкой на фиг. 6-18. В дальнейшем в этом документе, термин "изображение" может обозначать либо неподвижное изображение видео, либо движущееся изображение, т.е. видео.
Во-первых, описываются способ кодирования видео и способ декодирования видео, осуществляемые посредством регулирования битовых глубин преобразования и обратного преобразования с фиксированной запятой, со ссылкой на фиг. 1-5.
Фиг. 1 является блок-схемой устройства 10 кодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 10 кодирования видео включает в себя модуль 12 квантования преобразования, модуль 14 определения максимального диапазона и модуль 16 вывода.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео принимает видеоизображения, разбивает каждое из видеоизображений на блоки и кодирует видеоизображения в единицах блоков. Блоки могут иметь квадратную форму, прямоугольную форму или любую другую геометрическую форму. Иными словами, блоки не ограничены единицами данных предварительно определенного размера. Согласно варианту осуществления настоящего изобретения, блоки могут включать в себя максимальные единицы кодирования, единицы кодирования, единицы прогнозирования и единицы преобразования из числа единиц кодирования, имеющих древовидную структуру. Ниже описывается кодирование/декодирование видео, выполняемое на основе единиц кодирования, имеющих древовидную структуру, со ссылкой на фиг. 6-18.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео формирует выборки посредством выполнения внутреннего прогнозирования, внешнего прогнозирования, преобразования и квантования в отношении каждого из блоков, выполняет энтропийное кодирование в отношении выборок и затем выводит результат энтропийного кодирования в потоке битов.
Согласно варианту осуществления настоящего изобретения, модуль 12 квантования преобразования может формировать квантованные коэффициенты преобразования посредством выполнения преобразования и квантования в отношении каждого из блоков. Модуль 12 квантования преобразования может формировать коэффициенты преобразования посредством приема пиксельных значений или разностной информации между пиксельными значениями, полученными через прогнозирующее кодирование изображений, и преобразования пиксельных значений или разностной информации в единицах единицы преобразования. Модуль 12 квантования преобразования может формировать квантованные коэффициенты преобразования, т.е. коэффициенты квантования, посредством квантования коэффициентов преобразования. Согласно варианту осуществления настоящего изобретения, модуль 12 квантования преобразования выполняет преобразование с фиксированной запятой, чтобы формировать коэффициенты преобразования в единицах единицы преобразования.
Чтобы восстанавливать выборки, обратное квантование может быть выполнено таким образом, чтобы восстанавливать коэффициенты преобразования из квантованного коэффициента преобразования, и выходные данные, которые выводятся в качестве результата выполнения обратного квантования, могут быть сохранены в модуле хранения с предварительно определенным размером данных.
Размер данных первого модуля хранения для сохранения коэффициентов преобразования, полученных посредством выполнения обратного квантования, может быть равен размеру данных модуля хранения, допускающего сохранение данных первой битовой глубины. Таким образом, выходные данные, которые выводятся в качестве результата выполнения обратного квантования, могут быть данными первой битовой глубины или менее.
В дальнейшем в этом документе, предполагается, что максимальное абсолютное значение данных может быть определено посредством битовой глубины, значение данных является значением между минимальным значением и максимальным значением, и динамический диапазон данных может быть определен посредством битовой глубины. Размер данных модуля хранения для сохранения предварительно определенной битовой глубины также может быть определен посредством битовой глубины данных. В настоящем раскрытии сущности, "битовая глубина данных", "максимальное абсолютное значение", "динамический диапазон данных" и "размер данных модуля хранения" должны пониматься как термины, имеющие аналогичные значения.
В ходе восстановления выборок обратное преобразование выполняется в отношении коэффициентов преобразования, чтобы восстанавливать исходные данные из коэффициентов преобразования, полученных через преобразование с фиксированной запятой. Выходные данные, полученные через обратное преобразование с фиксированной запятой, которое соответствует преобразованию с фиксированной запятой, могут обратно масштабироваться до предварительно определенной битовой глубины или менее. Выходные данные, которые выводятся в качестве результата выполнения обратного масштабирования после обратного преобразования с фиксированной запятой, могут быть сохранены в модуле хранения с предварительно определенным размером данных. Другими словами, размер данных второго модуля хранения для сохранения выборок, полученных посредством выполнения обратного преобразования и обратного масштабирования, может быть равным размеру модуля хранения, допускающего сохранение данных со второй битовой глубиной. Таким образом, выходные данные, полученные посредством выполнения обратного преобразования и обратного масштабирования, могут быть данными со второй битовой глубиной или менее.
Одномерное (1D) преобразование может непрерывно выполняться два раза, чтобы выполнять двумерное (2D) преобразование в отношении 2D блока. В ходе восстановления выборок 1D обратное преобразование, соответствующее преобразованию, выполняемому посредством модуля 12 квантования преобразования, может непрерывно выполняться два раза, чтобы выполнять 2D обратное преобразование. Обратное масштабирование может выполняться каждый раз, когда выполняется 1D обратное преобразование.
Согласно варианту осуществления настоящего изобретения, выходные данные, полученные через обратное преобразование, могут быть побитово сдвинуты на предварительно определенное битовое значение, за счет этого обратно масштабируя результат выполнения обратного преобразования. Таким образом, битовая глубина результата побитового сдвига выходных данных для обратного масштабирования может быть второй битовой глубиной или менее.
Если битовая глубина выходных данных, полученных посредством последовательного выполнения обратного преобразования и обратного масштабирования, ограничивается второй битовой глубиной, то коэффициенты преобразования, которые являются входными значениями для обратного преобразования, также могут быть ограничены так, что они меньше или равны значению предварительно определенного диапазона, на основе второй битовой глубины.
Квантованные коэффициенты преобразования, которые являются входными значениями для обратного квантования, также могут быть ограничены так, что они меньше или равны значению другого диапазона, чтобы ограничивать коэффициенты преобразования, полученные через обратное квантование, так что они меньше или равны входным значениям в обратное преобразование.
Таким образом, согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео может регулировать динамический диапазон квантованных коэффициентов преобразования, которые должны выводиться в потоке битов, с учетом выходного диапазона обратного квантования и выходного диапазона обратного преобразования/обратного масштабирования. Таким образом, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования, которые должны выводиться из устройства 10 кодирования видео.
Согласно варианту осуществления настоящего изобретения, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования таким образом, что выходные данные, полученные посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, и/или выходные данные, полученные посредством выполнения обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования, могут быть меньше или равными предварительно определенной битовой глубине, в ходе восстановления выборок.
Согласно варианту осуществления настоящего изобретения, модуль 14 определения максимального диапазона может определять максимальный диапазон коэффициентов преобразования, квантованных на основе первой битовой глубины так, что коэффициенты преобразования первой битовой глубины или менее могут быть сформированы без необходимости отсекать коэффициенты преобразования, полученные через обратное квантование, в ходе восстановления выборок.
Согласно варианту осуществления настоящего изобретения, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования на основе второй битовой глубины так, что выборки второй битовой глубины или менее могут быть сформированы без необходимости отсекать выборки, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования, в ходе восстановления выборок.
Согласно варианту осуществления настоящего изобретения, когда в ходе восстановления выборок данные побитово сдвигаются на предварительно определенное битовое значение таким образом, чтобы выполнять обратное масштабирование после 1D обратного преобразования, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования на основе числа сдвинутых битов.
Согласно варианту осуществления настоящего изобретения, модуль 16 вывода может регулировать диапазон квантованных коэффициентов преобразования так, что они попадают в максимальный диапазон, определенный посредством модуля 14 определения максимального диапазона, и выводить результат регулирования в потоке битов. Квантованные коэффициенты преобразования могут быть отсечены до значения, которое попадает в максимальный диапазон, определенный посредством модуля 14 определения максимального диапазона.
Как описано выше, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования таким образом, что в ходе восстановления обратного квантования выборок отсечение может пропускаться как после того, как выполняется обратное квантование, так и после того, как выполняется обратное преобразование. В качестве другого примера, модуль 14 определения максимального диапазона может определять максимальный диапазон квантованных коэффициентов преобразования таким образом, что в ходе восстановления выборок, отсечение может пропускаться после того, как выполняется обратное квантование.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео может включать в себя центральный процессор (CPU) (не показан), который полностью управляет работой модуля 12 квантования преобразования, модуля 14 определения максимального диапазона и модуля 16 вывода. В противном случае, модуль 12 квантования преобразования, модуль 14 определения максимального диапазона и модуль 16 вывода могут управляться посредством различных процессоров (не показаны), и различные процессоры могут совместно работать так, чтобы полностью управлять работой устройства 10 кодирования видео. В противном случае, модуль 12 квантования преобразования, модуль 14 определения максимального диапазона и модуль 16 вывода могут работать под управлением внешнего процессора (не показан) устройства 10 кодирования видео.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео может включать в себя по меньшей мере один модуль хранения данных (не показан) для сохранения данных, вводимых и выводимых из модуля 12 квантования преобразования, модуля 14 определения максимального диапазона и модуля 16 вывода. Устройство 10 кодирования видео может включать в себя контроллер запоминающего устройства (не показан), который управляет данными, которые должны вводиться и выводиться из по меньшей мере одного модуля хранения данных.
Согласно варианту осуществления настоящего изобретения, чтобы выводить результат выполнения кодирования, устройство 10 кодирования видео может выполнять кодирование видео, включающее в себя преобразование, посредством совместной работы с внутренним процессором кодирования видео или внешним процессором кодирования видео. Согласно варианту осуществления настоящего изобретения, внутренний процессор кодирования видео устройства 10 кодирования видео может быть осуществлен в качестве отдельного процессора или модуля обработки кодирования видео, включенного в устройство 10 кодирования видео, центральное арифметическое устройство или графическое арифметическое устройство, чтобы выполнять базовые операции кодирования видео.
Фиг. 2 является блок-схемой устройства 20 декодирования видео, согласно варианту осуществления настоящего изобретения.
Согласно варианту осуществления настоящего изобретения, устройство 20 декодирования видео включает в себя приемный модуль 22, модуль 24 обратного квантования, модуль 26 обратного преобразования и модуль 28 восстановления изображений.
Согласно варианту осуществления настоящего изобретения, устройство 20 декодирования видео может принимать поток битов, содержащий кодированные данные видео. Устройство 20 декодирования видео может синтаксически анализировать кодированные видеовыборки из потока битов и формировать восстановленные пиксели посредством выполнения энтропийного декодирования, обратного квантования, обратного преобразования, прогнозирования и оценки движения в блоках изображений, в силу этого получая восстановленное изображение.
Согласно варианту осуществления настоящего изобретения, приемный модуль 22 синтаксически анализирует и восстанавливает квантованные коэффициенты преобразования в единицах блоков изображений из потока битов. Таким образом, согласно варианту осуществления настоящего изобретения, приемный модуль 22 может синтаксически анализировать и восстанавливать квантованные коэффициенты преобразования, которые попадают в предварительно определенный максимальный диапазон, из потока битов. Согласно варианту осуществления настоящего изобретения, квантованные коэффициенты преобразования, синтаксически проанализированные из потока битов, регулируются так, что они попадают в предварительно определенный максимальный диапазон, и затем выводятся в потоке битов, в ходе процесса кодирования.
Согласно варианту осуществления настоящего изобретения, модуль 24 обратного квантования может восстанавливать коэффициенты преобразования первой битовой глубины или менее посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования. Первая битовая глубина может быть равной размеру данных первого модуля хранения для сохранения коэффициентов преобразования, полученных посредством выполнения обратного квантования. Согласно варианту осуществления настоящего изобретения, модуль 24 обратного квантования может формировать коэффициенты преобразования первой битовой глубины или менее после того, как выполняется обратное квантование, без необходимости отсекать коэффициенты преобразования, полученные через обратное квантование.
Согласно варианту осуществления настоящего изобретения, модуль 26 обратного преобразования может восстанавливать выборки второй битовой глубины или менее посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования по меньшей мере один раз. Например, для двумерного обратного преобразования, обратное преобразование и обратное масштабирование могут непрерывно выполняться два раза. Вторая битовая глубина может быть равной размеру данных второго модуля хранения для сохранения выборок, сформированных посредством выполнения обратного преобразования и обратного масштабирования.
Согласно варианту осуществления настоящего изобретения, модуль 26 обратного преобразования может формировать выборки второй битовой глубины или менее посредством выполнения 1D обратного преобразования и обратного масштабирования без необходимости отсекать выборки, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования.
Согласно варианту осуществления настоящего изобретения, для обратного масштабирования, модуль 26 обратного преобразования может побитово сдвигать данные, которые получаются посредством выполнения 1D обратного преобразования, к предварительно определенному битовому значению. Приемный модуль 22 может принимать квантованные коэффициенты преобразования, отсеченные согласно максимальному диапазону, определенному на основе числа сдвинутых битов.
Как описано выше, квантованный коэффициент преобразования, имеющий ограниченный диапазон, должен вводиться в модуль 24 обратного квантования, так что модуль 24 обратного квантования может выводить коэффициенты преобразования первой битовой глубины или менее без выполнения отсечения. Аналогично, коэффициент преобразования, имеющий ограниченный диапазон, должен вводиться в модуль 26 обратного преобразования, так что модуль 26 обратного преобразования может выводить коэффициенты преобразования со второй битовой глубиной или менее без выполнения отсечения.
Поскольку квантованные коэффициенты преобразования, принятые посредством приемного модуля 22, имеют ограниченный максимальный диапазон, коэффициенты преобразования первой битовой глубины или менее могут быть сформированы без выполнения отсечения после того, как модуль 24 обратного квантования выполняет обратное квантование, и выборки второй битовой глубины или менее могут быть сформированы без выполнения отсечения после того, как модуль 26 обратного преобразования выполняет обратное преобразование и обратное масштабирование.
Согласно варианту осуществления настоящего изобретения, модуль 28 восстановления изображений может восстанавливать изображения из выборок, восстановленных в единицах блоков. Например, изображения могут быть восстановлены посредством выполнения внутреннего прогнозирования или компенсации движения для выборок, восстановленных в единицах блоков.
Согласно варианту осуществления настоящего изобретения, отсечение может пропускаться после того, как модуль 24 обратного квантования выполняет обратное квантование, и после того, как модуль 26 обратного преобразования выполняет обратное преобразование, согласно максимальному диапазону принимаемого квантованного коэффициента преобразования. В качестве другого примера, отсечение может пропускаться только после того, как модуль 24 обратного квантования выполняет обратное квантование, согласно максимальному диапазону принимаемого квантованного коэффициента преобразования.
Согласно варианту осуществления настоящего изобретения, устройство 20 декодирования видео может включать в себя центральный процессор (CPU) (не показан), который полностью управляет работой приемного модуля 22, модуля 24 обратного квантования, модуля 26 обратного преобразования и модуля 28 восстановления изображений. В противном случае, приемный модуль 22, модуль 24 обратного квантования, модуль 26 обратного преобразования и модуль 28 восстановления изображений могут управляться посредством различных процессоров (не показаны), и различные процессоры могут совместно работать так, чтобы полностью управлять работой устройства 20 декодирования видео. В противном случае, приемный модуль 22, модуль 24 обратного квантования, модуль 26 обратного преобразования и модуль 28 восстановления изображений могут работать под управлением внешнего процессора (не показан) устройства 20 декодирования видео.
Согласно варианту осуществления настоящего изобретения, устройство 20 декодирования видео может включать в себя по меньшей мере один модуль хранения данных (не показан) для сохранения данных, вводимых и выводимых из приемного модуля 22, модуля 24 обратного квантования, модуля 26 обратного преобразования и модуля 28 восстановления изображений. Устройство 20 декодирования видео может включать в себя контроллер запоминающего устройства (не показан), который управляет данными, которые должны вводиться и выводиться из по меньшей мере одного модуля хранения данных.
Согласно варианту осуществления настоящего изобретения, чтобы восстанавливать видео согласно процессу декодирования, устройство 20 декодирования видео может выполнять декодирование видео посредством совместной работы с внутренним процессором декодирования видео или внешним процессором декодирования видео. Согласно варианту осуществления настоящего изобретения, внутренний процессор декодирования видео устройства 20 декодирования видео может быть осуществлен в качестве отдельного процессора или модуля обработки декодирования видео, включенного в устройство 20 декодирования видео, центральное арифметическое устройство или графическое арифметическое устройство, чтобы выполнять базовые операции декодирования видео.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео заранее ограничивает диапазон данных квантованных коэффициентов преобразования на основе размера модуля хранения, например, временного буфера, для сохранения данных, полученных после того, как выполняется обратное квантование и обратное преобразование в ходе восстановления выборок. Таким образом, устройство 20 декодирования видео может сохранять выходные данные во временном буфере фиксированной битовой глубины без отсечения выходных данных в ходе выполнения обратного квантования и обратного преобразования для принимаемых квантованных коэффициентов преобразования. Таким образом, можно не допускать возникновения переполнения, когда преобразование с фиксированной запятой выполняется в ходе процесса декодирования видео, в силу этого экономя аппаратные ресурсы для выполнения отсечения.
Фиг. 3 иллюстрирует процесс изменения битовой глубины в системе 30 кодирования/декодирования, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 3, система 30 кодирования/декодирования включает в себя модуль 31 квантования для процесса кодирования и включает в себя модуль 33 синтаксического анализа, модуль 34 обратного квантования, модуль 36 первого 1D обратного преобразования и модуль 38 второго 1D обратного преобразования для процесса декодирования.
Модуль 31 квантования может квантовать коэффициенты преобразования, полученные согласно процессу кодирования видео, и выводить поток битов, включающий в себя квантованные коэффициенты преобразования. Диапазон вывода квантованных коэффициентов преобразования может быть ограничен предварительно определенным диапазоном. С этой целью, коэффициенты преобразования могут быть отсечены так, что они попадают в предварительно определенный диапазон.
Модуль 33 синтаксического анализа может синтаксически анализировать и восстанавливать квантованные коэффициенты преобразования из потока битов. Модуль 34 обратного квантования может восстанавливать коэффициенты преобразования посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования. Коэффициенты преобразования могут быть временно сохранены в модуле 35 хранения до того, как они выводятся из модуля 34 обратного квантования. Таким образом, размер выходных данных модуля 34 обратного квантования может быть ограничен так, что он меньше или равен первой битовой глубине модуля 35 хранения.
Модуль 36 первого 1D обратного преобразования может выполнять 1D обратное преобразование в отношении коэффициентов преобразования в первом направлении. Модуль 38 второго 1D обратного преобразования может выполнять 1D обратное преобразование в отношении результата выполнения 1D обратного преобразования, принимаемого из модуля 36 первого 1D обратного преобразования, во втором направлении.
Каждый из модуля 36 первого 1D обратного преобразования и модуля 38 второго 1D обратного преобразования может выполнять обратное преобразование с фиксированной запятой и выполнять обратное масштабирование в отношении результата выполнения обратного преобразования.
Модуль 36 первого 1D обратного преобразования может побитово сдвигать данные, которые получаются посредством выполнения 1D обратного преобразования в первом направлении, к первому битовому значению shift1 сдвига, чтобы выполнять обратное масштабирование в отношении этих данных. Модуль 38 второго 1D обратного преобразования может побитово сдвигать данные, которые получаются посредством выполнения 1D обратного преобразования во втором направлении, ко второму битовому значению shift2 сдвига, чтобы выполнять обратное масштабирование в отношении этих данных.
Модуль 36 первого 1D обратного преобразования может временно сохранять данные, выводимые из него, в модуле 37 хранения. Таким образом, размер выходных данных модуля 36 первого 1D обратного преобразования может быть ограничен так, что он меньше или равен размеру данных модуля 37 хранения.
Аналогично, модуль 38 второго 1D обратного преобразования может временно сохранять данные, выводимые из него, в модуле 39 хранения. Таким образом, размер выходных данных модуля 38 второго 1D обратного преобразования может быть ограничен так, что он меньше или равен размеру данных модуля 39 хранения.
Например, максимальное абсолютное значение MaxC коэффициента C преобразования, обратно квантованного посредством модуля 34 обратного квантования, может быть ограничено согласно следующему уравнению:
Уравнение 1
bq
|C|<MaxC=2-1,
bq
bq
bq
при этом если битовая глубина размера данных модуля 35 хранения имеет длину bq битов, то максимальное абсолютное значение MaxC коэффициента C преобразования может составлять 2-1, и коэффициент C преобразования может попадать в диапазон {-2, ..., 2-1}.
k
Аналогично операциям модуля 36 первого 1D обратного преобразования и модуля 38 второго 1D обратного преобразования, максимальное абсолютное значение Maxk данных C, которые обратно преобразуются посредством выполнения k-того 1D обратного преобразования, может быть ограничено согласно следующему уравнению:
Уравнение 2
k
bk
|C|<Maxk=2-1,
k
bk
bk
bk
при этом если модули 37 и 39 хранения имеют длину bk битов, то максимальное абсолютное значение Maxk обратно преобразованных данных C может составлять 2-1, и коэффициент C преобразования может попадать в диапазон {-2, ..., 2-1}.
Таким образом, диапазон выходных данных каждого из модуля 34 обратного квантования, модуля 36 первого 1D обратного преобразования и модуля 38 второго 1D обратного преобразования должен быть ограничен согласно уравнениям 1 и 2, чтобы не допускать возникновения переполнения.
Традиционно, отсечение выполняется таким образом, что размеры выходных данных модуля 34 обратного квантования, модуля 36 первого 1D обратного преобразования и модуля 38 второго 1D обратного преобразования могут быть, соответственно, меньше или равными размерам данных модулей 35, 37 и 39 хранения согласно уравнениям 1 и 2.
Тем не менее, согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео и устройство 20 декодирования видео используют способ регулирования максимального диапазона квантованных коэффициентов преобразования, чтобы минимизировать операцию отсечения, выполняемую в ходе процесса декодирования видео.
Размер данных, вводимых в модуль 36 первого 1D обратного преобразования или модуль 38 второго 1D обратного преобразования, может быть ограничен, чтобы управлять выводными данными так, что они меньше или равны предварительно определенной битовой глубине. С этой целью, размер выходных данных модуля 34 обратного квантования может быть ограничен. Кроме того, размеры квантованных коэффициентов преобразования, вводимых в модуль 34 обратного квантования, могут быть ограничены так, что они меньше или равны предварительно определенной битовой глубине, с тем чтобы ограничивать размер выходных данных модуля 34 обратного квантования так, что они меньше или равны предварительно определенной битовой глубине. Таким образом, максимальный диапазон квантованных коэффициентов преобразования, выводимых из модуля 31 квантования, может управляться таким образом, чтобы ограничивать диапазон выходных данных каждого из модуля 34 обратного квантования, модуля 36 первого 1D обратного преобразования и модуля 38 второго 1D обратного преобразования без необходимости выполнять отсечение.
Во-первых, максимальный диапазон входных данных, требуемый для того, чтобы ограничивать диапазон выходных данных модуля 36 первого 1D обратного преобразования или модуля 38 второго 1D обратного преобразования, может быть определен на основе матрицы преобразования, посредством использования следующих уравнений:
Уравнение 3
Y=TR_MATRIX*X,
i
i
где вектор X обозначает входные данные, имеющие размер N для обратного преобразования, вектор Y обозначает выходные данные, имеющие размер N, и TR_MATRIX обозначает матрицу преобразования, имеющую размер NxN. Если максимальное абсолютное значение элементов вектора X составляет max_abs_X, а максимальное абсолютное значение элементов в i-той строке матрицы TR_MATRIX преобразования составляет max_abs_TR_MATRIX, то максимальное абсолютное значение выходных данных Y и максимальное абсолютное значение max_abs_Y элементов вектора Y может быть определено согласно следующему уравнению:
Уравнение 4
i
i
Y=max_abs_TR_MATRIX*max_abs_X;
i
max_abs_Y=Max{max_abs_TR_MATRIX}*max_abs_X,
i
где Max{max_abs_TR_MATRIX} упоминается как L1-норма матрицы преобразования для k-того преобразования, т.е. как L1_TR_MATRIX_k. Конечная операция k-того одномерного преобразования является побитовым сдвигом для обратного масштабирования. Таким образом, общее увеличение битовой глубины в ходе k-того одномерного преобразования может быть определено посредством следующего уравнения:
Уравнение 5
max_abs_Y=(L1_TR_MATRIX_k*max_abs_X+off_set_k)>>shift_k,
shift_k-1
где для k-того обратного масштабирования, смещение off_set_k составляет 2.
Как описано выше, если размер выходных данных Y, полученных посредством выполнения одномерного преобразования, меньше или равен bk-битовой глубине, диапазон выходных данных Y может выражаться следующим образом:
Уравнение 6
bk
bk
-2≤Y≤2-1;
bk
max_abs_Y≤2-1
Таким образом, следующее неравенство может извлекаться из комбинации уравнений 5 и 6:
Уравнение 7
bk
((L1_TR_MATRIX_k*max_abs_X+off_set_k)>>shift_k)≤2-1;
bk+shift_k
shift_k
(L1_TR_MATRIX_k*max_abs_X+off_set_k)≤(2-2);
bk+shift_k
shift_k
(shift_k-1)/
max_abs_X≤2-2-2L1_TR_MATRIX_k
Если диапазон входных данных для обратного преобразования ограничивается согласно последнему неравенству, выражаемому в уравнении 7, можно не допускать возникновения переполнения в выходных данных, полученных посредством выполнения обратного преобразования.
Таким образом, если bk-битовая глубина, выражаемая в уравнениях 6 и 7, обобщается как Max_k, максимальный диапазон входных данных для k-того обратного преобразования может быть сформирован следующим образом:
Уравнение 8
max_abs_Y≤Max_k;
shift_k
(shift_k-1)
/
max_abs_X≤(Max_k*2-2)L1_TR_MATRIX_k
Иными словами, максимальный диапазон входных данных для k-того обратного преобразования может быть определен на основе размера Max_k модуля хранения, битового значения shift_k сдвига для обратного масштабирования и L1-нормы (L1_TR_MATRIX_k) матрицы преобразования.
Затем, диапазон входных данных, требуемый для того, чтобы ограничивать диапазон выходных данных модуля 34 обратного квантования, может быть определен на основе переменных обратного квантования, согласно следующим уравнениям. Согласно уравнению 9, квантованный коэффициент qC преобразования может быть восстановлен в коэффициент C преобразования через обратное квантование.
Уравнение 9
C=(((qC*scale(QP))<<bits(QP))+iAdd)>>iShift;
Если размер коэффициента C преобразования ограничивается максимальным пределом MaxC, как выражается в уравнении 1, то максимальный диапазон квантованного коэффициента qC преобразования, который является входными данными для обратного квантования, может быть определен на основе следующего уравнения:
Уравнение 10
MaxC≤(((qC*scale(QP))<<bits(QP))+iAdd)>>iShift≤MaxC;
|qC|≤((MaxC<<iShift)-iAdd)>>bits(QP)/scale(QP).
Другими словами, максимальный диапазон входных данных для обратного квантования может быть определен на основе максимального предела MaxC выходных данных и переменных обратного квантования.
Затем, в то время как последовательно выполняется обратное квантование и обратное преобразование, взаимосвязь между пределом выходных данных и максимальным диапазоном входных данных в каждой из операций заключается в следующем:
<b>Таблица 0</b>
Операция
Ограничивающие условия
Ограниченный максимальный диапазон входных данных
Максимальное абсолютное значение выходных данных
Максимальное абсолютное значение входных данных
Второе 1D обратное преобразование
Max_2
(Max_2*2<sup>shift_2</sup>-2<sup>(shift_2-1)</sup>)/L1_TR_MATRIX_2
Первое 1D обратное преобразование
Max_1
(Max_1*2<sup>shift_1-</sup>2<sup>(shift_1-1</sup>)/L1_TR_MATRIX_1
Обратное квантование
MaxC
((MaxC<<iShift)-iAdd)>>bits(QP)/scale(QP)
Таким образом, чтобы не допускать возникновения переполнения в выходных данных, полученных, когда выполняется каждое из обратного квантования и первого и второго 1D обратного преобразования, и обеспечивать возможность пропуска операции отсечения, должны удовлетворяться ограничивающие условия, выражаемые в уравнениях 11 и 12.
Уравнение 11
shift_2
(shift_2-1)
Max_1≤(Max_2*2-2)/L1_TR_MATRIX_2
Уравнение 12
shift_1
(shift_1-1)
MaxC≤(Max_1*2-2)/L1_TR_MATRIX_1
Уравнение 13
|qC|≤((MaxC<<iShift)-iAdd)>>bits(QP)/scale(QP)
Согласно уравнению 12, чтобы пропускать отсечение выходных данных, полученных посредством выполнения первого 1D обратного преобразования, максимальное абсолютное значение выходных данных, полученных посредством выполнения обратного квантования, должно быть меньше или равным максимальному диапазону входных данных для первого 1D обратного преобразования.
Согласно уравнению 11, чтобы пропускать отсечение выходных данных, полученных посредством выполнения второго 1D обратного преобразования, максимальное абсолютное значение выходных данных, полученных посредством выполнения первого 1D обратного квантования, должно быть меньше или равным максимальному диапазону входных данных для второго 1D обратного преобразования.
Согласно уравнению 13, чтобы пропускать отсечение выходных данных, полученных посредством выполнения обратного квантования, максимальное абсолютное значение квантованных коэффициентов преобразования, восстановленных из потока битов, должно быть меньше или равным максимальному диапазону входных данных для обратного квантования.
Согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео и устройство 20 декодирования видео могут пропускать по меньшей мере одну из числа операций отсечения, выполняемых после того, как выполняется обратное квантование и обратное преобразование в ходе процесса декодирования.
Например, если максимальный диапазон квантованного коэффициента преобразования удовлетворяет только уравнению 13, и обратно квантованные данные и первые обратно преобразованные данные, соответственно, не удовлетворяют уравнениям 11 и 12, то отсечение может пропускаться только после того, как выполняется обратное квантование. Другими словами, чтобы пропускать отсечение после того, как выполняется обратное квантование, устройство 10 кодирования видео может ограничивать максимальный диапазон квантованных коэффициентов преобразования согласно уравнению 13, без учета уравнений 11 и 12.
В качестве другого примера, если квантованные коэффициенты преобразования, выводимые из устройства 10 кодирования видео в устройство 20 декодирования видео, удовлетворяют уравнению 13, и обратно квантованные данные удовлетворяют уравнению 12, отсечение может пропускаться после того, как выполняется обратное квантование, и после того, как выполняется первое 1D обратное преобразование.
Когда устройство 20 декодирования видео согласно варианту осуществления настоящего изобретения сохраняет выходные данные, полученные после того, как выполняется обратное квантование и 1D обратное преобразование, в 16-битовом буфере, далее описываются условия квантованных коэффициентов преобразования, которые обеспечивают возможность пропуска отсечения после того, как выполняется обратное квантование и 1D обратное преобразование.
15
15
15
15
Выборки, имеющие значения -2, ..., 2-1, могут быть сохранены в 16-битовом буфере. Если абсолютное значение выходных данных, полученных посредством выполнения каждой из операций, например, обратного квантования и обратного преобразования, меньше 2-1, т.е. 32767, то модули хранения, за исключением 16-битового буфера, вообще не требуются для того, чтобы сохранять данные, и отсечение не должно быть выполнено после того, как выполняется обратное квантование и обратное преобразование. Таким образом, в устройстве 10 кодирования видео и устройстве 20 декодирования видео согласно варианту осуществления настоящего изобретения, диапазон входных данных для каждого из обратного квантования и обратного преобразования ограничивается, с тем чтобы ограничивать абсолютное значение выходных данных, полученных посредством выполнения каждого из обратного квантования и обратного преобразования, как 2-1.
p
p
p
Например, предполагается, что входные данные и выходные данные являются p-битовыми данными. Остаточное значение выходных данных, полученных посредством выполнения обратного преобразования, может попадать в диапазон {-2+1, ..., 2-1}. Таким образом, максимальное абсолютное значение Max_2 выходных данных, полученных посредством выполнения второго 1D обратного преобразования, может составлять 2-1.
В общем, максимальное значение битовой глубины значения выборки видеокода равно 14, и в силу этого используются выборки в 14 битов или менее. Битовая глубина видеокодека в соответствии с HEVC-стандартами составляет 8 или 10 битов. Таким образом, выходные данные, полученные посредством выполнения второго 1D обратного преобразования, попадают в диапазон данных 16-битового буфера, и дополнительное отсечение не должно быть выполнено.
Чтобы сохранять выходные данные, полученные посредством выполнения первого 1D обратного преобразования, в 16-битовом буфере, диапазон обратно квантованных коэффициентов преобразования, которые вводятся данные для первого 1D обратного преобразования, должен удовлетворять уравнению 12.
Кроме того, чтобы сохранять выходные данные, полученные посредством выполнения обратного квантования, в 16-битовом буфере, диапазон квантованных коэффициентов преобразования, которые вводятся данные для обратного квантования, должен удовлетворять уравнению 13.
Например, устройство 10 кодирования видео и устройство 20 декодирования видео могут использовать переменные обратного квантования, выражаемые в уравнении 14 следующим образом:
Уравнение 14
2
iShift=p-9+logS;
bits(QP)=iQP/6+p-8
где S обозначает размер блока, а QP и iQP обозначают параметр квантования и параметр обратного квантования, соответственно.
Кроме того, scale(QP) может иметь различные шесть значений согласно QP/6. Например, если QP/6 имеет значение 0, 1, 2, 3, 4 или 5, то scale(QP) может иметь значение 40, 45, 51, 57, 64 или 72.
Когда используются переменные обратного квантования, выражаемые в уравнении 14, уравнение 13 может быть изменено на уравнение 15.
Уравнение 15
2
|qC|≤MaxC*2^(logS-1-iQP/6)/scale(QP)
Таким образом, если квантованные коэффициенты преобразования, выводимые из устройства 10 кодирования видео, удовлетворяют максимальному диапазону согласно уравнению 15, и устройство 20 декодирования видео выполняет обратное квантование посредством восстановления квантованных коэффициентов преобразования, удовлетворяющих максимальному диапазону согласно уравнению 15, из потока битов, то отсечение может пропускаться после того, как выполняется обратное квантование. Согласно уравнению 15, максимальный диапазон квантованных коэффициентов преобразования, которые должны выводиться из устройства 10 кодирования видео, может быть определен посредством размера MaxC буфера для сохранения выходных данных, полученных посредством выполнения обратного квантования, размера S блока и параметров QP и iQP квантования.
Следующее уравнение 16 формируется из комбинации уравнений 15 и 12.
Уравнение 16
shift_1
(shift_1-1)
*
2
(Max_1*2-2)2^(logS-1-iQP/6)/(L1_TR_MATRIX_1*scale(QP))
Таким образом, если устройство 10 кодирования видео выводит квантованные коэффициенты преобразования, удовлетворяющие максимальному диапазону согласно уравнению 16, и устройство 20 декодирования видео выполняет обратное квантование и обратное преобразование посредством восстановления квантованных коэффициентов преобразования, удовлетворяющих максимальному диапазону согласно уравнению 16, из потока битов, то отсечение может пропускаться после того, как выполняется обратное квантование, и после того, как выполняется первое 1D обратное преобразование. Согласно уравнению 16, максимальный диапазон квантованных коэффициентов преобразования, которые должны выводиться из устройства 10 кодирования видео, может быть определен посредством размера Max_1 буфера для сохранения выходных данных, полученных посредством выполнения первого 1D обратного преобразования, размера S блока и параметров QP и iQP квантования.
Когда устройство 10 кодирования видео и устройство 20 декодирования видео согласно варианту осуществления настоящего изобретения используют первую таблицу преобразования/обратного преобразования, максимальное абсолютное значение MAXqC квантованного коэффициента преобразования может быть определено так, как показано в таблице A. Таблица A показывает максимальное абсолютное значение MAXqC квантованного коэффициента преобразования, когда параметр QP квантования равен 0, и когда параметр QP квантования равен 51.
В качестве другого примера, когда устройство 10 кодирования видео и устройство 20 декодирования видео используют вторую таблицу преобразования/обратного преобразования, максимальное абсолютное значение MAXqC квантованного коэффициента преобразования может быть определено так, как показано в таблице B.
В таблицах A и B, "Inv. Tr." обозначает типы матриц преобразования для преобразования/обратного преобразования. Число, обозначающее каждый из типов матриц преобразования, представляет ширину квадратного блока преобразования. L1 обозначает L1-норму матрицы преобразования согласно каждому из типов матриц преобразования. Shift1 обозначает битовое значение сдвига для обратного масштабирования после того, как выполняется обратное преобразование. Битовое значение Shift1 сдвига является фиксированным значением. Максимальное абсолютное значение Max1 данных, полученных посредством выполнения первого 1D обратного преобразования, также является фиксированным значением, поскольку оно определяется посредством битовой глубины выборки.
Иными словами, согласно таблицам A и B, L1-норма матрицы преобразования варьируется согласно каждой из матриц преобразования. Изменение L1-нормы матрицы преобразования может приводить к изменению максимального абсолютного значения MaxC каждого из обратно квантованных коэффициентов преобразования. Такой результат соответствует требованию, выражаемому в уравнении 12. Таким образом, если параметр QP квантования равен 0, максимальное абсолютное значение MAXqC каждого из квантованных коэффициентов преобразования варьируется согласно максимальному абсолютному значению MaxC каждого из обратно квантованных коэффициентов преобразования. Такой результат соответствует требованию, выражаемому в уравнении 15.
Тем не менее, в некоторых случаях, например, когда параметр QP квантования равен 51, квантованные коэффициенты преобразования могут быть определены в качестве постоянных значений независимо от максимального абсолютного значения MaxC обратно квантованных коэффициентов преобразования.
2
2
Уравнения 12 и 16 могут быть упрощены посредством аппроксимации L1-нормы матрицы преобразования как квадрата 2. Например, первая система преобразования/обратного преобразования может аппроксимировать L1-норму матрицы преобразования как 2^(logS+6) согласно таблице A и может аппроксимировать L1-норму матрицы преобразования как 2^(logS+12) согласно таблице B.
2
Например, если L1-норма матрицы преобразования аппроксимируется как 2^(logS+6), то уравнения 12 и 16 могут быть упрощены следующим образом:
Уравнение 17
2
|MaxC|≤Max_1*2^(shift_1-logS-6);
|qC|≤Max_1*2^(shift_1-7-iQP/6)/scale(QP);
MaxqC=Max_1*2^(shift_1-7-iQP/6)/scale(QP)
Как описано выше, согласно упрощенному требованию максимального диапазона квантованных коэффициентов преобразования, максимальное абсолютное значение MaxqC квантованных коэффициентов преобразования, выводимых из устройства 10 кодирования видео в устройство 20 декодирования видео, может быть определено посредством размера Max_1 буфера для сохранения выходных данных, полученных посредством выполнения первого 1D обратного преобразования, и параметров QP и iQP квантования. Максимальный диапазон квантованных коэффициентов преобразования может быть определен согласно максимальному абсолютному значению MaxqC квантованных коэффициентов преобразования.
Битовое значение Shift1 сдвига для обратного масштабирования после того, как выполняется первое 1D обратное преобразование, может задаваться фиксированно равным константе в случае системы 30 кодирования/декодирования. Если битовое значение Shift1 сдвига является переменной, устройство 10 кодирования видео может кодировать и передавать битовое значение Shift1 сдвига, и устройство 20 декодирования видео может принимать и декодировать битовое значение Shift1 сдвига.
Таким образом, согласно варианту осуществления настоящего изобретения, устройство 10 кодирования видео может заранее ограничивать диапазон данных квантованных коэффициентов преобразования на основе размера модуля хранения, например, временного буфера, который сохраняет данные, полученные после того, как выполняется обратное квантование и обратное преобразование в ходе восстановления выборок. Устройство 20 декодирования видео может принимать квантованные коэффициенты преобразования ограниченного максимального диапазона и сохранять данные в буфере, даже если отсечение пропускается в ходе выполнения обратного квантования и обратного преобразования в отношении квантованных коэффициентов преобразования.
Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей способ кодирования видео согласно варианту осуществления настоящего изобретения.
На этапе 41, квантованные коэффициенты преобразования формируются посредством выполнения преобразования и квантования в отношении каждого из блоков изображения.
Затем, на этапе 42, максимальный диапазон квантованных коэффициентов преобразования определяется таким образом, что выходные данные, полученные посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, и/или выходные данные, полученные посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования, могут иметь предварительно определенную битовую глубину или менее.
На этапе 43, диапазон квантованных коэффициентов преобразования регулируется так, что он попадает в максимальный диапазон, определенный на этапе 42. В этом случае, квантованные коэффициенты преобразования могут быть отсечены так, что они попадают в максимальный диапазон.
Согласно варианту осуществления настоящего изобретения, максимальный диапазон квантованных коэффициентов преобразования может быть заранее ограничен на основе первой битовой глубины во время формирования выборок, так, что коэффициенты преобразования первой битовой глубины или менее могут быть сформированы после того, как выполняется обратное квантование, без необходимости выполнять отсечение, в ходе восстановления выборок. В этом случае, первая битовая глубина может быть равной размеру данных первого модуля хранения для сохранения коэффициентов преобразования в ходе восстановления выборок.
Согласно варианту осуществления настоящего изобретения, максимальный диапазон квантованных коэффициентов преобразования может быть заранее ограничен на основе второй битовой глубины во время формирования выборок, так что коэффициенты преобразования со второй битовой глубиной или менее могут быть сформированы после того, как выполняется 1D обратное преобразование и обратное масштабирование без необходимости выполнять отсечение, в ходе восстановления выборок. В этом случае, вторая битовая глубина может быть равной размеру данных второго модуля хранения для сохранения выборок в ходе восстановления выборок.
Если обратное масштабирование выполняется посредством побитового сдвига данных, сформированных после того, как выполняется 1D обратное преобразование, к предварительно определенному битовому значению, то максимальный диапазон квантованных коэффициентов преобразования может быть определен на основе числа сдвинутых битов так, что выборки второй битовой глубины или менее могут быть сформированы без отсечения выборок, сформированных после того, как выполняется обратное масштабирование после обратного преобразования.
Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей способ декодирования видео согласно варианту осуществления настоящего изобретения.
На этапе 51, квантованные коэффициенты преобразования могут быть восстановлены посредством синтаксического анализа блоков принимаемого потока битов. Максимальный диапазон квантованных коэффициентов преобразования заранее регулируется в процессе кодирования так, что обратно квантованные коэффициенты преобразования с битовой глубиной первого модуля хранения или менее могут выводиться посредством выполнения обратного квантования, и выборки с битовой глубиной второго модуля хранения или менее могут выводиться посредством выполнения обратного преобразования и обратного масштабирования.
На этапе 53, коэффициенты преобразования первой битовой глубины или менее могут быть восстановлены посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования. Коэффициенты преобразования с битовой глубиной первого модуля хранения, который сохраняет коэффициенты преобразования, или менее могут быть сформированы посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования без необходимости выполнять отсечение в отношении коэффициентов преобразования.
На этапе 55, выборки второй битовой глубины или менее могут быть восстановлены посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования. Выборки с битовой глубиной второго модуля хранения, который сохраняет выборки, могут быть сформированы посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования без необходимости выполнять отсечение в отношении выборок.
Когда данные, сформированные после того, как выполняется 1D обратное преобразование, побитово сдвигаются на предварительно определенное битовое значение и затем обратно масштабируются, максимальный диапазон квантованных коэффициентов преобразования может быть определен на основе битового значения сдвига для обратного масштабирования после того, как выполняется 1D обратное преобразование.
В устройстве 10 кодирования видео согласно варианту осуществления настоящего изобретения и устройства 20 декодирования видео согласно другому варианту осуществления настоящего изобретения, блоки, разделенные из видеоданных, могут разбиваться на единицы кодирования, имеющие древовидную структуру, как описано выше. Далее описываются способ и устройство кодирования видео и способ и устройство декодирования видео на основе единиц кодирования, имеющих древовидную структуру, и единиц преобразования согласно варианту осуществления настоящего изобретения, со ссылкой на фиг. 6-18.
Фиг. 6 является блок-схемой устройства 100 кодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Согласно варианту осуществления настоящего изобретения, устройство 100 кодирования видео с использованием прогнозирования видео на основе единиц кодирования, имеющих древовидную структуру, включает в себя модуль 110 разбиения на максимальные единицы кодирования, модуль 120 определения единиц кодирования и модуль 130 вывода.
Модуль 110 разбиения на максимальные единицы кодирования может разбивать текущее изображение на основе максимальной единицы кодирования для текущего графического изображения для изображения. Если текущее графическое изображение больше, чем максимальная единица кодирования, данные изображений текущего графического изображения могут разбиваться на по меньшей мере одну максимальную единицу кодирования. Максимальная единица кодирования согласно варианту осуществления настоящего изобретения может быть единицей данных, имеющей размер 32x32, 64x64, 128x128, 256x256 и т.д., при этом форма единицы данных является квадратом, имеющим ширину и длину в квадратах по 2. Данные изображений могут выводиться в модуль 120 определения единиц кодирования согласно по меньшей мере одной максимальной единице кодирования.
Единица кодирования согласно варианту осуществления настоящего изобретения может отличаться посредством максимального размера и глубины. Глубина обозначает число раз, которое единица кодирования пространственно разбивается от максимальной единицы кодирования, и по мере того, как глубина увеличивается, более глубокие единицы кодирования согласно глубинам могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, снижается по мере того, как увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображений текущего графического изображения разбиваются на максимальные единицы кодирования согласно максимальному размеру единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиваются согласно глубинам. Поскольку максимальная единица кодирования согласно варианту осуществления настоящего изобретения разбивается согласно глубинам, данные изображений пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы согласно глубинам.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, которое иерархически разбиваются высота и ширина максимальной единицы кодирования, может быть предварительно определена.
Модуль 120 определения единиц кодирования кодирует по меньшей мере одну область разбиения, полученную посредством разбиения области максимальной единицы кодирования согласно глубинам, и определяет глубину, чтобы выводить конечные кодированные данные изображений согласно по меньшей мере одной области разбиения. Другими словами, модуль 120 определения единиц кодирования определяет кодированную глубину посредством кодирования данных изображений в более глубоких единицах кодирования согласно глубинам, согласно максимальной единице кодирования текущего изображения и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодированная глубина и кодированные данные изображений согласно определенной кодированной глубине выводятся в модуль 130 вывода.
Данные изображений в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображений сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере одна кодированная глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разбивается по мере того, как единица кодирования иерархически разбивается согласно глубинам, и по мере того, как увеличивается число единиц кодирования. Кроме того, даже если единицы кодирования соответствуют идентичной глубине в одной максимальной единице кодирования, каждая из единиц кодирования, соответствующих идентичной глубине, может разбиваться до нижней глубины посредством измерения ошибки кодирования данных изображений каждой единицы кодирования, отдельно. Соответственно, даже когда данные изображений включаются в одну максимальную единицу кодирования, данные изображений разбиваются на области согласно глубинам, ошибки кодирования могут отличаться согласно областям в одной максимальной единице кодирования, и тем самым кодированные глубины могут отличаться согласно областям в данных изображений. Таким образом, одна или более кодированных глубин могут быть определены в одной максимальной единице кодирования, и данные изображений максимальной единицы кодирования могут быть разделены согласно единицам кодирования по меньшей мере одной кодированной глубины.
Соответственно, модуль 120 определения единиц кодирования может определять единицы кодирования, имеющие древовидную структуру, включенные в максимальную единицу кодирования. "Единицы кодирования, имеющие древовидную структуру" согласно варианту осуществления настоящего изобретения включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена согласно глубинам в идентичной области максимальной единицы кодирования и может быть независимо определена в различных областях. Аналогично, кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.
Максимальная глубина согласно варианту осуществления настоящего изобретения является индексом, связанным с числом разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, на которую максимальная единица кодирования разбивается один раз, может задаваться равной 1, а глубина единицы кодирования, на которую максимальная единица кодирования разбивается два раза, может задаваться равной 2. Здесь, если минимальная единица кодирования является единицей кодирования, на которую максимальная единица кодирования разбивается четыре раза, имеется 5 уровней глубины с глубинами 0, 1, 2, 3 и 4, и за счет этого первая максимальная глубина может задаваться равной 4, а вторая максимальная глубина может задаваться равной 5.
Прогнозирующее кодирование и преобразование может выполняться согласно максимальной единице кодирования. Прогнозирующее кодирование и преобразование также выполняются на основе более глубоких единиц кодирования согласно глубине, равной, или глубинам, меньшим максимальной глубины, согласно максимальной единице кодирования. Преобразование может выполняться согласно способу ортогонального преобразования или целочисленного преобразования.
Поскольку число более глубоких единиц кодирования увеличивается каждый раз, когда максимальная единица кодирования разбивается согласно глубинам, кодирование, включающее в себя прогнозирующее кодирование и преобразование, выполняется в отношении всех более глубоких единиц кодирования, сформированных по мере того, как увеличивается глубина. Для удобства описания, прогнозирующее кодирование и преобразование далее описываются на основе единицы кодирования текущей глубины в максимальной единице кодирования.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображений. Чтобы кодировать данные изображений, выполняются такие операции (этапы), как прогнозирующее кодирование, преобразование и энтропийное кодирование, и в это время, идентичная единица данных может использоваться для всех операций, или различные единицы данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображений, но также и единицу данных, отличающуюся от единицы кодирования, с тем чтобы выполнять прогнозирующее кодирование в отношении данных изображений в единице кодирования.
Чтобы выполнять прогнозирующее кодирование в максимальной единице кодирования, прогнозирующее кодирование может выполняться на основе единицы кодирования, соответствующей кодированной глубине, т.е. на основе единицы кодирования, которая более не разбивается на единицы кодирования, соответствующие нижней глубине. В дальнейшем в этом документе, единица кодирования, которая более не разбивается и становится базисной единицей для прогнозирующего кодирования, далее упоминается как "единица прогнозирования". Сегмент, полученный посредством разбиения единицы прогнозирования, может включать в себя единицу данных, полученную посредством разбиения по меньшей мере одной из высоты и ширины единицы прогнозирования. Сегмент представляет собой единицу данных, полученную посредством разбиения единицы прогнозирования единицы кодирования, и единица прогнозирования может быть сегментом, размер которого равен размеру единицы кодирования.
Например, когда единица кодирования в 2Nx2N (где N является положительным целым числом) более не разбивается и становится единицей прогнозирования в 2Nx2N, размер сегмента может составлять 2Nx2N, 2NxN, Nx2N или NxN. Примеры типа сегмента включают в себя симметричные сегменты, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, сегменты, полученные посредством асимметричного разбиения высоты или ширины единицы прогнозирования, к примеру, 1:n или n:1, сегменты, которые получаются посредством геометрического разбиения единицы прогнозирования, и сегменты, имеющие произвольные формы.
Режим прогнозирования единицы прогнозирования может быть по меньшей мере одним из внутреннего режима, внешнего режима и режима пропуска. Например, внутренний режим или внешний режим могут выполняться в отношении сегмента в 2Nx2N, 2NxN, Nx2N или NxN. Кроме того, режим пропуска может выполняться только в отношении сегмента в 2Nx2N. Кодирование может независимо выполняться в отношении одной единицы прогнозирования в единице кодирования, в силу этого выбирая режим прогнозирования, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование в отношении данных изображений в единице кодирования на основе не только единицы кодирования для кодирования данных изображений, но также и на основе единицы данных, которая отличается от единицы кодирования. Чтобы выполнять преобразование для единицы кодирования, преобразование может быть выполнено на основе единицы преобразования, размер которой меньше или равен размеру единицы кодирования. Примеры единицы преобразования могут включать в себя единицу данных для внутреннего режима и единицу преобразования для внешнего режима.
Аналогично единицам кодирования, имеющим древовидную структуру, единица преобразования в единице кодирования может рекурсивно разбиваться на области меньших размеров, так что единица преобразования может быть определена независимо в единицах областей. Таким образом, остаточные данные в единице кодирования могут быть разделены согласно преобразованию, имеющему древовидную структуру, согласно глубинам преобразования.
Глубина преобразования, указывающая число разбиений для того, чтобы достигать единицы преобразования посредством разбиения высоты и ширины единицы кодирования, также может задаваться в единице преобразования. Например, в текущей единице кодирования 2Nx2N, глубина преобразования может быть равна 0, когда размер единицы преобразования составляет 2Nx2N, может быть равна 1, когда размер единицы преобразования составляет NxN, и может быть равна 2, когда размер единицы преобразования составляет N/2xN/2. Другими словами, единицы преобразования, имеющие древовидную структуру, могут задаваться согласно глубинам преобразования.
Информация кодирования согласно кодированным глубинам требует не только информацию относительно кодированных глубин, но также и информацию относительно прогнозирования и информацию относительно преобразования. Соответственно, модуль 120 определения единиц кодирования может не только определять кодированную глубину, имеющую наименьшую ошибку кодирования, но также и определять тип сегмента в единице прогнозирования, режим прогнозирования согласно единицам прогнозирования и размер единицы преобразования для преобразования.
Ниже подробно описывается способ определения единиц кодирования, имеющих древовидную структуру максимальной единицы кодирования, единиц/сегментов прогнозирования и единиц преобразования согласно вариантам осуществления настоящего изобретения со ссылкой на фиг. 7-18.
Модуль 120 определения единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования оптимизации искажения в зависимости от скорости передачи на основе множителей Лагранжа.
Модуль 130 вывода выводит данные изображений максимальной единицы кодирования, которая кодируется на основе по меньшей мере одной кодированной глубины, определенной посредством модуля 120 определения единиц кодирования, и информации относительно режима кодирования согласно кодированной глубине в потоках битов.
Кодированные данные изображений могут быть получены посредством кодирования остаточных данных изображения.
Информация относительно режима кодирования согласно кодированной глубине может включать в себя информацию относительно кодированной глубины, относительно типа сегмента в единице прогнозирования, режима прогнозирования и размера единицы преобразования.
Информация относительно кодированной глубины может быть задана посредством использования информации разбиения согласно глубинам, которая указывает то, выполняется или нет кодирование в отношении единиц кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, данные изображений в текущей единице кодирования кодируется и выводятся, и тем самым информация разбиения может быть задана так, чтобы не разбивать текущую единицу кодирования до нижней глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется в отношении единицы кодирования нижней глубины, и тем самым информация разбиения может быть задана так, чтобы разбивать текущую единицу кодирования, чтобы получать единицы кодирования нижней глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется в отношении единицы кодирования, которая разбивается на единицу кодирования нижней глубины. Поскольку по меньшей мере одна единица кодирования нижней глубины существует в одной единице кодирования текущей глубины, кодирование многократно выполняется в отношении каждой единицы кодирования нижней глубины, и за счет этого кодирование может быть рекурсивно выполнено для единиц кодирования, имеющих идентичную глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация относительно по меньшей мере одного режима кодирования определяется для единицы кодирования кодированной глубины, информация относительно по меньшей мере одного режима кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодированная глубина данных изображений максимальной единицы кодирования может отличаться согласно местоположениям, поскольку данные изображений иерархически разбиваются согласно глубинам, и тем самым информация относительно кодированной глубины и режима кодирования может задаваться для данных изображений.
Соответственно, модуль 130 вывода может назначать информацию кодирования относительно соответствующей кодированной глубины и режима кодирования по меньшей мере одной из единицы кодирования, единицы прогнозирования и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица согласно варианту осуществления настоящего изобретения является прямоугольной единицей данных, полученной посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю кодированную глубину, на 4. Альтернативно, минимальная единица может быть максимальной прямоугольной единицей данных, которая может быть включена во все из единиц кодирования, единиц прогнозирования, единиц сегментирования и единиц преобразования, включенных в максимальную единицу кодирования.
Например, информация кодирования, выводимая через модуль 130 вывода, может классифицироваться на информацию кодирования согласно единицам кодирования и информацию кодирования согласно единицам прогнозирования. Информация кодирования согласно единицам кодирования может включать в себя информацию относительно режима прогнозирования и относительно размера сегментов. Информация кодирования согласно единицам прогнозирования может включать в себя информацию относительно оцененного направления внешнего режима, относительно индекса опорного изображения внешнего режима, относительно вектора движения, относительно компоненты сигнала цветности внутреннего режима и относительно способа интерполяции внутреннего режима.
Информация относительно максимального размера единицы кодирования, заданного согласно изображениям, слайсам или GOP, и информация относительно максимальной глубины могут вставляться в заголовок потока битов, набор параметров последовательности (SPS) или набор параметров изображения.
Кроме того, информация относительно максимального размера и минимального размера единицы преобразования, доступной для текущего видео, также может выводиться через заголовок потока битов, SPS, набор параметров изображения и т.п. Модуль 130 вывода может кодировать и выводить ссылочную информацию, информацию прогнозирования, информацию однонаправленного прогнозирования и информацию относительно типов слайсов, включающую в себя четвертый тип слайса, который связан с прогнозированием, как описано выше со ссылкой на фиг. 1-6.
В устройстве 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, полученной посредством деления высоты или ширины единицы кодирования верхней глубины на два. Другими словами, когда размер единицы кодирования текущей глубины равен 2Nx2N, размер единицы кодирования нижней глубины равен NxN. Кроме того, единица кодирования текущей глубины, имеющей размер 2Nx2N, может включать в себя максимум 4 единицы кодирования нижней глубины.
Соответственно, устройство 10 кодирования видео может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенной с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может выполняться в отношении каждой максимальной единицы кодирования посредством использования любого из различных режимов прогнозирования и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, число макроблоков в расчете на изображение чрезмерно увеличивается. Соответственно, число фрагментов сжатой информации, сформированной для каждого макроблока, увеличивается, и в силу этого трудно передавать сжатую информацию, и эффективность сжатия данных снижается. Тем не менее, посредством использования устройства 100 кодирования видео, эффективность сжатия изображений может быть повышена, поскольку единица кодирования регулируется с учетом характеристик изображения при увеличении максимального размера единицы кодирования с учетом размера изображения.
Устройство 100 кодирования видео по фиг. 6 может выполнять операции устройства 10 кодирования видео, описанного выше со ссылкой на фиг. 1.
Модуль 120 определения единиц кодирования может выполнять операции модуля 12 квантования преобразования устройства 10 кодирования видео. Модуль 120 определения единиц кодирования формирует квантованные коэффициенты преобразования посредством выполнения преобразования и квантования в единицах блоков преобразования. Модуль 130 вывода может выполнять операции модуля 14 определения максимального диапазона и модуля 16 вывода устройства 10 кодирования видео.
Модуль 130 вывода определяет максимальный диапазон квантованных коэффициентов преобразования таким образом, что выходные данные, полученные посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, и/или выходные данные, полученные посредством 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования, могут иметь предварительно определенную битовую глубину или меньше. Модуль 130 вывода может отсекать квантованные коэффициенты преобразования в пределах максимального диапазона и выводить результат отсечения в потоке битов.
Согласно варианту осуществления настоящего изобретения, во время формирования выборок, максимальный диапазон квантованных коэффициентов преобразования, возможно, ограничен с учетом размера первого модуля хранения для сохранения коэффициентов преобразования или битовых глубин коэффициентов преобразования во время восстановления выборок, так что коэффициенты преобразования первой битовой глубины или меньше могут быть сформированы посредством выполнения обратного квантования без необходимости выполнять отсечение во время восстановления выборок.
Согласно варианту осуществления настоящего изобретения, максимальный диапазон квантованных коэффициентов преобразования, возможно, ограничен с использованием размера второго модуля хранения для сохранения выборок или матрицы преобразования с фиксированной запятой во время восстановления выборок, так что выборки второй битовой глубины или меньше могут быть сформированы посредством выполнения 1D обратного преобразования и обратного масштабирования без необходимости выполнять отсечение во время восстановления выборок.
Когда обратное масштабирование выполняется посредством побитового сдвига данных, которые получаются после того, как выполняется 1D обратное преобразование, на предварительно определенное битовое значение, максимальный диапазон квантованных коэффициентов преобразования может быть определен на основе числа сдвинутых битов, чтобы формировать выборки второй битовой глубины или меньше без необходимости выполнять отсечение выборок, полученных посредством выполнения обратного масштабирования для результата выполнения обратного преобразования.
Фиг. 7 является блок-схемой устройства 200 декодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео с использованием прогнозирования видео на основе единиц кодирования, имеющих древовидную структуру, включает в себя приемное устройство 210, модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений.
Определения различных терминов, таких как единица кодирования, глубина, единица прогнозирования, единица преобразования и информация относительно различных режимов кодирования, для различных операций устройства 200 декодирования видео являются такими, как описано выше относительно устройства 100 кодирования видео по фиг. 6.
Приемное устройство 210 принимает и синтаксически анализирует поток битов кодированного видео. Модуль 220 извлечения данных изображений и информации кодирования извлекает кодированные данные изображений для каждой единицы кодирования из синтаксически проанализированного потока битов, при этом единицы кодирования имеют древовидную структуру согласно каждой максимальной единице кодирования, и выводит извлеченные данные изображений в декодер 230 данных изображений. Модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно максимального размера единицы кодирования текущего изображения из заголовка, SPS или набора параметров изображения, связанного с текущим изображением или SPS.
Кроме того, модуль 220 извлечения данных изображений и информации кодирования извлекает информацию относительно кодированной глубины и режима кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой максимальной единице кодирования из синтаксически проанализированного потока битов. Извлеченная информация относительно кодированной глубины и режима кодирования выводится в декодер 230 данных изображений. Другими словами, данные изображений в потоке битов разбиваются на максимальные единицы кодирования так, что декодер 230 данных изображений декодирует данные изображений для каждой максимальной единицы кодирования.
Информация относительно кодированной глубины и режима кодирования согласно максимальной единице кодирования может задаваться для информации относительно по меньшей мере одной единицы кодирования, соответствующей кодированной глубине, и информация относительно режима кодирования может включать в себя информацию относительно типа сегмента соответствующей единицы кодирования, соответствующей кодированной глубине, относительно режима прогнозирования и размера единицы преобразования. Кроме того, информация разбиения согласно глубинам может быть извлечена в качестве информации относительно кодированной глубины.
Информация относительно кодированной глубины и режима кодирования согласно каждой максимальной единице кодирования, извлеченной посредством модуля 220 извлечения данных изображений и информации кодирования, является информацией относительно определенной кодированной глубины и режима кодирования, чтобы формировать минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование в отношении каждой более глубокой единицы кодирования согласно глубинам согласно каждой максимальной единице кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображений согласно кодированной глубине и режиму кодирования, который формирует минимальную ошибку кодирования.
Поскольку информация кодирования относительно кодированной глубины и режима кодирования может назначаться предварительно определенной единице данных из соответствующей единицы кодирования, единицы прогнозирования и минимальной единицы, модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно кодированной глубины и режима кодирования согласно предварительно определенным единицам данных. Предварительно определенные единицы данных, которым назначается идентичная информация относительно кодированной глубины и режима кодирования, могут логически выводиться как единицы данных, включенные в идентичную максимальную единицу кодирования.
Декодер 230 данных изображений восстанавливает текущее изображение посредством декодирования данных изображений в каждой максимальной единице кодирования на основе информации относительно кодированной глубины и режима кодирования согласно максимальным единицам кодирования. Другими словами, декодер 230 данных изображений может декодировать кодированные данные изображений на основе извлеченной информации относительно типа сегмента, режима прогнозирования и единицы преобразования в отношении каждой единицы кодирования из единиц кодирования, имеющих в себя древовидную структуру, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя прогнозирование, включающее в себя внутреннее прогнозирование и компенсацию движения, а также обратное преобразование.
Декодер 230 данных изображений может выполнять внутреннее прогнозирование или компенсацию движения согласно сегменту и режиму прогнозирования каждой единицы кодирования на основе информации относительно типа сегмента и режима прогнозирования единицы прогнозирования единицы кодирования согласно кодированным глубинам.
Кроме того, для того чтобы выполнять обратное преобразование в единицах максимальных единиц кодирования, декодер 230 данных изображений может считывать информацию относительно единиц преобразования, имеющих древовидную структуру в единицах единиц кодирования, и выполнять обратное преобразование в единицах единиц кодирования на основе единиц преобразования. Посредством выполнения обратного преобразования могут быть восстановлены пиксельные значения единиц кодирования в пространственной области.
Декодер 230 данных изображений может определять по меньшей мере одну кодированную глубину текущей максимальной единицы кодирования посредством использования информации разбиения согласно глубинам. Если информация разбиения указывает то, что данные изображений более не разбиваются при текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображений может декодировать кодированные данные по меньшей мере одной единицы кодирования, соответствующей каждой кодированной глубине в текущей максимальной единице кодирования, посредством использования информации относительно типа сегмента единицы прогнозирования, режима прогнозирования и размера единицы преобразования в отношении каждой единицы кодирования, соответствующей кодированной глубине, и выводить данные изображений текущей максимальной единицы кодирования.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя идентичную информацию разбиения, могут собираться посредством наблюдения набора информации кодирования, назначаемого для предварительно определенной единицы данных из единицы кодирования, единицы прогнозирования и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, которая должна быть декодирована посредством декодера 230 данных изображений в одном режиме кодирования. Текущая единица кодирования может быть декодирована посредством получения информации относительно режима кодирования для каждой из единиц кодирования, определенного так, как описано выше.
Устройство 200 декодирования видео по фиг. 7 может выполнять операции устройства 20 декодирования видео по фиг. 2.
Приемное устройство 210 и модуль 220 извлечения данных изображений и информации кодирования могут выполнять операции приемного модуля 22 устройства 20 декодирования видео. Декодер 230 данных изображений может выполнять операции модуля 24 обратного квантования, модуля 26 обратного преобразования и модуля 28 восстановления изображений устройства 20 декодирования видео.
Модуль 220 извлечения данных изображений и информации кодирования может восстанавливать квантованные коэффициенты преобразования посредством синтаксического анализа блоков преобразования принимаемого потока битов. Восстановленный квантованный коэффициент преобразования может быть результатом выполнения отсечения в пределах предварительно определенного диапазона на стороне кодирования. Максимальный диапазон квантованных коэффициентов преобразования, возможно, определен на стороне кодирования таким образом, что данные битовой глубины первого модуля хранения или меньше могут выводиться без необходимости выполнять отсечение после того, как выполняется обратное квантование, и данные битовой глубины второго модуля хранения или меньше могут выводиться без необходимости выполнять отсечение после того, как выполняется обратное преобразование и обратное масштабирование. Когда данные, полученные после того, как выполняется 1D обратное преобразование, побитово сдвигаются на предварительно определенное битовое значение и затем обратно масштабируются, максимальный диапазон квантованных коэффициентов преобразования может быть определен на основе битового значения сдвига для обратного масштабирования после того, как выполняется 1D обратное преобразование.
Таким образом, декодер 230 данных изображений может восстанавливать коэффициенты преобразования посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования и может формировать коэффициенты преобразования битовой глубины первого модуля хранения или меньше без необходимости отсекать отсеченные коэффициенты преобразования.
Кроме того, декодер 230 данных изображений может восстанавливать выборки посредством выполнения 1D обратного преобразования и обратного масштабирования в отношении коэффициентов преобразования и формировать коэффициенты преобразования, имеющие битовую глубину второго модуля хранения или меньше, без необходимости отсекать восстановленные выборки.
Таким образом, устройство 200 декодирования видео может получать информацию относительно по меньшей мере одной единицы кодирования, которая формирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется в отношении каждой максимальной единицы кодирования, и может использовать эту информацию для того, чтобы декодировать текущее изображение. Другими словами, могут быть декодированы единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования.
Соответственно, даже если данные изображений имеют высокое разрешение и большой объем данных, данные изображений могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображений, посредством использования информации относительно оптимального режима кодирования, принимаемой из кодера.
Фиг. 8 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения.
Размер единицы кодирования может выражаться как "ширина x высота" и может составлять 64x64, 32x32, 16x16 и 8x8. Единица кодирования в 64x64 может разбиваться на сегменты в 64x64, 64x32, 32x64 или 32x32, и единица кодирования в 32x32 может разбиваться на сегменты в 32x32, 32x16, 16x32 или 16x16, единица кодирования в 16x16 может разбиваться на сегменты в 16x16, 16x8, 8x16 или 8x8, и единица кодирования в 8x8 может разбиваться на сегменты в 8x8, 8x4, 4x8 или 4x4.
В видеоданных 310, разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320, разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330, разрешение составляет 352x288, максимальный размер единицы кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 8, обозначает общее число разбиений от максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение является высоким, или объем данных является большим, максимальный размер единицы кодирования может быть большим, с тем чтобы не только повышать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может составлять 64.
Поскольку максимальная глубина видеоданных 310 равна 2, единицы 315 кодирования видеоданных 310 могут включать в себя максимальную единицу кодирования, имеющую размер продольной оси в 64, и единицы кодирования, имеющие размеры продольной оси в 32 и 16, поскольку глубины увеличиваются на два уровня посредством разбиения максимальной единицы кодирования два раза. Между тем, поскольку максимальная глубина видеоданных 330 равна 1, единицы кодирования 335 видеоданных 330 могут включать в себя максимальную единицу кодирования, имеющую размер продольной оси в 16, и единицы кодирования, имеющие размер продольной оси в 8, поскольку глубины увеличиваются на один уровень посредством разбиения максимальной единицы кодирования один раз.
Поскольку максимальная глубина видеоданных 320 равна 3, единицы 325 кодирования видеоданных 320 могут включать в себя максимальную единицу кодирования, имеющую размер продольной оси в 64, и единицы кодирования, имеющие размеры продольной оси в 32, 16 и 8, поскольку глубины увеличиваются на 3 уровня посредством разбиения максимальной единицы кодирования три раза. По мере того, как увеличивается глубина, подробная информация может точно выражаться.
Фиг. 9 является блок-схемой кодера 400 изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции модуля 120 определения единиц кодирования устройства 100 кодирования видео, чтобы кодировать данные изображений. Другими словами, модуль 410 внутреннего прогнозирования выполняет внутреннее прогнозирование в отношении единиц кодирования во внутреннем режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют внешнюю оценку и компенсацию движения для единиц кодирования во внешнем режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из модуля 410 внутреннего прогнозирования, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через модуль 480 удаления блочности и модуль 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в качестве потока 455 битов через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео, все элементы кодера 400 изображений, т.е. модуль 410 внутреннего прогнозирования, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, модуль 480 удаления блочности и модуль 490 контурной фильтрации выполняют операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, модуль 410 внутреннего прогнозирования, модуль 420 оценки движения и модуль 425 компенсации движения определяют сегменты и режим прогнозирования каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, и преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
Кодер 400 изображений может определять квантованные коэффициенты преобразования посредством выполнения преобразования и квантования для единиц преобразования текущего кадра 405, отсекать квантованные коэффициенты преобразования в пределах максимального диапазона и затем передавать результат отсечения. Максимальный диапазон квантованных коэффициентов преобразования может быть определен с учетом битовой глубины или емкости для хранения и числа сдвинутых битов операции побитового сдвига для обратного масштабирования во время восстановления выборок, так что данные предварительно определенной битовой глубины могут быть сформированы без необходимости отсекать выходные данные, полученные посредством выполнения обратного квантования, и выходные данные, полученные посредством выполнения обратного преобразования и обратного масштабирования во время восстановления выборок.
Фиг. 10 является блок-схемой декодера 500 изображений на основе единицы кодирования согласно варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 синтаксически анализирует кодированные данные изображений, которые должны быть декодированы, и информацию относительно кодирования, требуемую для декодирования, из потока 505 битов. Кодированные данные изображений выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображений в пространственной области через обратный преобразователь 540.
Модуль 550 внутреннего прогнозирования выполняет внутреннее прогнозирование в отношении единиц кодирования во внутреннем режиме относительно данных изображений в пространственной области, и модуль 560 компенсации движения выполняет компенсацию движения для единиц кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображений в пространственной области, которые пропущены через модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения, могут выводиться в качестве восстановленного кадра 595 после постобработки через модуль 570 удаления блочности и модуль 580 контурной фильтрации. Кроме того, данные изображений, которые постобрабатываются через модуль 570 удаления блочности и модуль 580 контурной фильтрации, могут выводиться в качестве опорного кадра 585.
Чтобы декодировать данные изображений в декодере 230 данных изображений устройства 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после синтаксического анализатора 510.
Для применения декодера 500 изображений в устройстве 200 декодирования видео, все элементы декодера 500 изображений, т.е. синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего прогнозирования, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 контурной фильтрации выполняют операции на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования.
В частности, модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения выполняют операции на основе сегментов и режима прогнозирования для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 выполняет операции на основе размера единицы преобразования в отношении каждой единицы кодирования.
Декодер 500 изображений может синтаксически анализировать и восстанавливать квантованные коэффициенты преобразования посредством выполнения преобразования и квантования в отношении единиц преобразования потока битов. Поскольку данные битовой глубины модуля хранения формируются посредством выполнения обратного квантования в отношении квантованных коэффициентов преобразования, отсечение не должно обязательно выполняться после того, как выполняется обратное квантование. Кроме того, даже если отсечение пропускается после того, как выполняется обратное квантование, и после того, как выполняется обратное масштабирование, могут быть восстановлены выборки максимальной битовой глубины или меньше.
Фиг. 11 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-другому заданы пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут быть определены согласно предварительно определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования согласно варианту осуществления настоящего изобретения, максимальная высота и максимальная ширина единиц кодирования составляют 64, а максимальная глубина составляет 4. В этом случае, максимальная глубина означает общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, разбиваются высота и ширина более глубокой единицы кодирования. Кроме того, единица прогнозирования и сегменты, которые являются базисами для прогнозирующего кодирования каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0, а размер, т.е. высота на ширину, равен 64x64. Глубина увеличивается вдоль вертикальной оси, и существуют единица кодирования 620, имеющая размер 32x32 и глубину в 1, единица кодирования 630, имеющая размер 16x16 и глубину в 2, единица 640 кодирования, имеющая размер 8x8 и глубину 3, и единица кодирования 650, имеющая размер 4x4 и глубину 4. Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования.
Единица прогнозирования и сегменты единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 610 кодирования, имеющая размер 64x64 и глубину 0, является единицей прогнозирования, единица прогнозирования может разбиваться на сегменты, включенные в единицу 610 кодирования, т.е. на сегмент 610, имеющий размер 64x64, сегменты 612, имеющие размер 64x32, сегменты 614, имеющие размер 32x64, или сегменты 616, имеющие размер 32x32.
Аналогично, единица прогнозирования единицы 620 кодирования, имеющей размер 32x32 и глубину в 1, может разбиваться на сегменты, включенные в единицу 620 кодирования, т.е. на сегмент 620, имеющий размер 32x32, сегменты 622, имеющие размер 32x16, сегменты 624, имеющие размер 16x32, и сегменты 626, имеющие размер 16x16.
Аналогично, единица прогнозирования единицы 630 кодирования, имеющей размер 16x16 и глубину в 2, может разбиваться на сегменты, включенные в единицу 630 кодирования, т.е. на сегмент, имеющий размер 16x16, включенный в единицу 630 кодирования, сегменты 632, имеющие размер 16x8, сегменты 634, имеющие размер 8x16, и сегменты 636, имеющие размер 8x8.
Аналогично, единица прогнозирования единицы 640 кодирования, имеющей размер 8x8 и глубину 3, может разбиваться на сегменты, включенные в единицу 640 кодирования, т.е. на сегмент, имеющий размер 8x8, включенный в единицу 640 кодирования, сегменты 642, имеющие размер 8x4, сегменты 644, имеющие размер 4x8, и сегменты 646, имеющие размер 4x4.
Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования и единицей кодирования самой нижней глубины. Единица прогнозирования единицы 650 кодирования назначается только сегменту, имеющему размер 4x4.
Чтобы определять по меньшей мере одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, модуль 120 определения единиц кодирования устройства 100 кодирования видео выполняет кодирование в отношении единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Число более глубоких единиц кодирования согласно глубинам, включающим в себя данные в идентичном диапазоне и идентичного размера, увеличивается по мере того, как увеличивается глубина. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для того, чтобы охватывать данные, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнивать результаты кодирования идентичных данных согласно глубинам, кодируются единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнять кодирование для текущей глубины из глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждой единицы прогнозирования в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, минимальная ошибка кодирования может находиться посредством сравнения наименьших ошибок кодирования согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того, как глубина увеличивается вдоль вертикальной оси иерархической структуры 600. Глубина и сегмент, имеющие минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодированной глубины и типа сегмента единицы 610 кодирования.
Фиг. 12 является схемой для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования, согласно варианту осуществления настоящего изобретения.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования во время кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 или 200, если размер единицы 710 кодирования составляет 64x64, преобразование может выполняться посредством использования единиц 720 преобразования, имеющих размер 32x32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64x64, могут быть кодированы посредством выполнения преобразования в отношении каждой из единиц преобразования, имеющих размер 32x32, 16x16, 8x8 и 4x4, которые меньше 64x64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 13 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Модуль 130 вывода устройства 100 кодирования видео может кодировать и передавать информацию 800 относительно типа сегмента, информацию 810 относительно режима прогнозирования и информацию 820 относительно размера единицы преобразования в отношении каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации относительно режима кодирования.
Информация 800 указывает информацию относительно типа сегмента, полученного посредством разбиения единицы прогнозирования текущей единицы кодирования, при этом сегмент является единицей данных для прогнозирующего кодирования текущей единицы кодирования. Например, текущая единица кодирования CU_0, имеющая размер 2Nx2N, может разбиваться на любой из сегмента 802, имеющего размер 2Nx2N, сегмента 804, имеющего размер 2NxN, сегмента 806, имеющего размер Nx2N, и сегмента 808, имеющего размер NxN. Здесь, информация 800 относительно типа сегмента задается так, что она указывает одно из сегмента 804, имеющего размер 2NxN, сегмента 806, имеющего размер Nx2N, и сегмента 808, имеющего размер NxN.
Информация 810 указывает режим прогнозирования каждого сегмента. Например, информация 810 может указывать режим прогнозирующего кодирования, выполняемого для сегмента, указываемого посредством информации 800, т.е. внутренний режим 812, внешний режим 814 или режим 816 пропуска.
Информация 820 указывает размер единицы преобразования, на которой следует базироваться, когда преобразование выполняется в отношении текущей единицы кодирования. Например, единица преобразования может быть первой единицей 822 внутреннего преобразования, второй единицей 824 внутреннего преобразования, первой единицей 826 внешнего преобразования или второй единицей 828 внутреннего преобразования.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию 800, 810 и 820 для декодирования.
Фиг. 14 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Информация разбиения может быть использована для того, чтобы указывать изменение глубины. Информация разбиения указывает то, разбивается или нет единица кодирования текущей глубины на единицы кодирования нижней глубины.
Единица 910 прогнозирования для прогнозирующего кодирования единицы 900 кодирования, имеющей глубину 0 и размер 2N_0x2N_0, может включать в себя сегменты типа 912 сегмента, имеющего размер 2N_0x2N_0, типа 914 сегмента, имеющего размер 2N_0xN_0, типа 916 сегмента, имеющего размер N_0x2N_0, и типа 918 сегмента, имеющего размер N_0xN_0. Фиг. 9 иллюстрирует только типы 912-918 сегментов, которые получаются посредством симметричного разбиения единицы 910 прогнозирования, но тип сегмента не ограничен этим, и сегменты единицы 910 прогнозирования могут включать в себя асимметричные сегменты, сегменты, имеющие предварительно определенную форму, и сегменты, имеющие геометрическую форму.
Прогнозирующее кодирование многократно выполняется в отношении одного сегмента, имеющего размер 2N_0x2N_0, двух сегментов, имеющих размер 2N_0xN_0, двух сегментов, имеющих размер N_0x2N_0, и четырех сегментов, имеющих размер N_0xN_0, согласно каждому типу сегмента. Прогнозирующее кодирование во внутреннем режиме и внешнем режиме может выполняться в отношении сегментов, имеющих размеры 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 и N_0xN_0. Прогнозирующее кодирование в режиме пропуска выполняется только в отношении сегмента, имеющем размер 2N_0x2N_0.
Если ошибка кодирования является наименьшей в одном из типов 912-916 сегментов, единица 910 прогнозирования может не разбиваться на нижнюю глубину.
Если ошибка кодирования является наименьшей в типе 918 сегмента, глубина изменяется с 0 на 1, чтобы разбивать тип 918 сегмента, на этапе 920, и кодирование многократно выполняется в отношении единиц 930 кодирования, имеющих глубину в 2 и размер N_0xN_0, чтобы выполнять поиск минимальной ошибки кодирования.
Единица 940 прогнозирования для прогнозирующего кодирования единицы 930 кодирования, имеющей глубину в 1 и размер 2N_1x2N_1 (=N_0xN_0), может включать в себя сегменты типа 942 сегмента, имеющего размер 2N_1x2N_1, типа 944 сегмента, имеющего размер 2N_1xN_1, типа 946 сегмента, имеющего размер N_1x2N_1, и типа 948 сегмента, имеющего размер N_1xN_1.
Если ошибка кодирования является наименьшей в типе 948 сегмента, глубина изменяется от 1 до 2, чтобы разбивать тип 948 сегмента, на этапе 950, и кодирование многократно выполняется в отношении единиц 960 кодирования, которые имеют глубину в 2 и размер N_2xN_2, чтобы выполнять поиск минимальной ошибки кодирования.
Когда максимальная глубина составляет d, единицы кодирования согласно каждой глубине может выполняться до того, когда глубина становится d-1, и информация разбиения может быть кодирована до того, когда глубина составляет одно из 0-d-2. Другими словами, когда кодирование выполняется до того, когда глубина составляет d-1, после того как единица кодирования, соответствующая глубине d-2, разбивается на этапе 970, единица 990 прогнозирования для прогнозирующего кодирования единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)x2N_(d-1), может включать в себя сегменты типа 992 сегмента, имеющего размер 2N_(d-1)x2N_(d-1), типа 994 сегмента, имеющего размер 2N_(d-1)xN_(d-1), типа 996 сегмента, имеющего размер N_(d-1)x2N_(d-1), и типа 998 сегмента, имеющего размер N_(d-1)xN_(d-1).
Прогнозирующее кодирование может многократно выполняться в отношении одного сегмента, имеющего размер 2N_(d-1)x2N_(d-1), двух сегментов, имеющих размер 2N_(d-1)xN_(d-1), двух сегментов, имеющих размер N_(d-1)x2N_(d-1), четырех сегментов, имеющих размер N_(d-1)xN_(d-1), из типов 992-998 сегментов, чтобы выполнять поиск типа сегмента, имеющего минимальную ошибку кодирования.
Даже когда тип 998 сегмента имеет минимальную ошибку кодирования, поскольку максимальная глубина составляет d, единица кодирования CU_(d-1), имеющая глубину d-1, больше не разбивается до нижней глубины, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, и тип сегмента единицы 900 кодирования может быть определен как N_(d-1)xN_(d-1). Кроме того, поскольку максимальная глубина составляет d, и минимальная единица 980 кодирования, имеющая самую нижнюю глубину d-1, больше не разбивается до нижней глубины, информация разбиения для единицы 980 кодирования не задается.
Единица 999 данных может быть "минимальной единицей" для текущей максимальной единицы кодирования. Минимальная единица согласно варианту осуществления настоящего изобретения может быть прямоугольной единицей данных, полученной посредством разбиения минимальной единицы 980 кодирования на 4. Посредством многократного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования, чтобы определять кодированную глубину и задавать соответствующий тип сегмента и режим прогнозирования в качестве режима кодирования кодированной глубины.
Также, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах 1-d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип сегмента единицы прогнозирования и режим прогнозирования могут быть кодированы и переданы в качестве информации относительно режима кодирования. Кроме того, поскольку единица кодирования разбивается от глубины в 0 до кодированной глубины, только информация разбиения кодированной глубины задается равной 0, а информация разбиения глубин за исключением кодированной глубины задается равной 1.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию относительно кодированной глубины и единицы прогнозирования единицы 900 кодирования, чтобы декодировать сегмент 912. Устройство 200 декодирования видео может определять глубину, при которой информация разбиения равна 0, в качестве кодированной глубины посредством использования информации разбиения согласно глубинам и использовать информацию относительно режима кодирования соответствующей глубины для декодирования.
Фиг. 15, 16 и 17 являются схемами для описания взаимосвязи между единицами 1010 кодирования, единицами 1060 прогнозирования и единицами 1070 преобразования, согласно варианту осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру согласно кодированным глубинам, определенным посредством устройства 100 кодирования видео, в максимальной единице кодирования. Единицы 1060 прогнозирования являются сегментами единиц прогнозирования каждой из единиц 1010 кодирования, и единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, а глубины единиц 1040, 1042, 1044 и 1046 кодирования равны 4.
В единицах 1060 прогнозирования, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования разбиваются на сегменты для прогнозирующего кодирования. Другими словами, типы сегментов в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2NxN, типы сегментов в единицах 1016, 1048 и 1052 кодирования имеют размер Nx2N, и тип сегмента единицы 1032 кодирования имеет размер NxN. Единицы прогнозирования и сегменты единиц 1010 кодирования меньше или равны каждой единицы кодирования.
Преобразование или обратное преобразование выполняется в отношении данных изображений единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от единиц кодирования в единицах 1060 прогнозирования с точки зрения размеров и форм. Другими словами, устройства 100 и 200 могут выполнять внутреннее прогнозирование, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности для единицы данных в идентичной единице кодирования.
Соответственно, кодирование рекурсивно выполняется в отношении каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования, чтобы определять оптимальную единицу кодирования, и за счет этого могут быть получены единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения относительно единицы кодирования, информацию относительно типа сегмента, информацию относительно режима прогнозирования и информацию относительно размера единицы преобразования. Таблица 1 показывает информацию кодирования, которая может задаваться посредством устройств 100 и 200.
<b>Таблица 1</b>
Информация 0 разбиения(Кодирование в отношении единицы кодирования, имеющей размер 2Nx2N и текущую глубину d)
Информация 1 разбиения
Режим прогнози-рования
Тип сегмента
Размер единицы преобразования
Многократное кодирование единиц кодирования, имеющих нижнюю глубину d+1
Внутренний Внешний Пропуск (только 2Nx2N)
Тип симметрич-ного сегмента
Тип асимметричного сегмента
Информация 0 разбиения единицы преобра-зования
Информация 1 разбиения единицы преобра-зования
2Nx2N2NxNNx2NNxN
2NxnU2NxnDnLx2NnRx2N
2Nx2N
NxN (симметрич-ный тип)N/2xN/2 (асиммет-ричный тип)
Модуль 130 вывода устройства 100 кодирования видео может выводить информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, и модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, из принимаемого потока битов.
Информация разбиения указывает то, разбивается или нет текущая единица кодирования на единицы кодирования нижней глубины. Если информация разбиения текущей глубины d равна 0, глубина, при которой текущая единица кодирования более не разбивается в нижнюю глубину, является кодированной глубиной, и тем самым информация относительно типа сегмента, режима прогнозирования и размера единицы преобразования может быть задана для кодированной глубины. Если текущая единица кодирования дополнительно разбивается согласно информации разбиения, кодирование независимо выполняется в отношении четырех единиц кодирования разбиения нижней глубины.
Режим прогнозирования может быть одним из внутреннего режима, внешнего режима и режима пропуска. Внутренний режим и внешний режим могут быть заданы во всех типах сегментов, а режим пропуска задается только в типе сегмента, имеющем размер 2Nx2N.
Информация относительно типа сегмента может указывать типы симметричных сегментов, имеющие размеры 2Nx2N, 2NxN, Nx2N и NxN, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, и типы асимметричных сегментов, имеющих размеры 2NxnU, 2NxnD, nLx2N и nRx2N, которые получаются посредством асимметричного разбиения высоты или ширины единицы прогнозирования. Типы асимметричных сегментов, имеющих размеры 2NxnU и 2NxnD, могут быть получены, соответственно, посредством разбиения высоты единицы прогнозирования в 1:3 и 3:1, а типы асимметричных сегментов, имеющих размеры nLx2N, и nRx2N, могут быть получены, соответственно, посредством разбиения ширины единицы прогнозирования в 1:3 и 3:1.
Размер единицы преобразования может задаваться как два типа во внутреннем режиме и два типа во внешнем режиме. Другими словами, если информация разбиения единицы преобразования равна 0, размер единицы преобразования может составлять 2Nx2N, что является размером текущей единицы кодирования. Если информация разбиения единицы преобразования равна 1, единицы преобразования могут быть получены посредством разбиения текущей единицы кодирования. Кроме того, если типом сегмента текущей единицы кодирования, имеющей размер 2Nx2N, является тип симметричного сегмента, размер единицы преобразования может составлять NxN, а если типом сегмента текущей единицы кодирования является тип асимметричного сегмента, размер единицы преобразования может составлять N/2xN/2.
Информация кодирования относительно единиц кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере одну из единицы кодирования, соответствующей кодированной глубине, единицы прогнозирования и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя по меньшей мере одну из единицы прогнозирования и минимальной единицы, содержащей идентичную информацию кодирования.
Соответственно, определяется то, включаются или нет смежные единицы данных в идентичную единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации кодирования единицы данных, и за счет этого может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, можно обращаться непосредственно к информации кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и она может использоваться.
Альтернативно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, единицы данных, смежные с текущей единицей кодирования, ищутся с использованием кодированной информации единиц данных, и к искомым смежным единицам кодирования можно обращаться для прогнозирования текущей единицы кодирования.
Фиг. 18 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 1. Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, информация разбиения может задаваться равной 0. Информация относительно типа сегмента единицы 1318 кодирования, имеющей размер 2Nx2N, может задаваться как одно из типа 1322 сегмента, имеющего размер 2Nx2N, типа 1324 сегмента, имеющего размер 2NxN, типа 1326 сегмента, имеющего размер Nx2N, типа 1328 сегмента, имеющего размер NxN, типа 1332 сегмента, имеющего размер 2NxnU, типа 1334 сегмента, имеющего размер 2NxnD, типа 1336 сегмента, имеющего размер nLx2N, и типа 1338 сегмента, имеющего размер nRx2N.
Информация разбиения единиц преобразования, т.е. флаг TU-размера, представляет собой тип индекса преобразования. Размер единицы преобразования, соответствующей индексу преобразования, может варьироваться согласно типу единицы прогнозирования или типу сегмента единицы кодирования.
Например, когда тип сегмента задается как симметричный, т.е. тип 1322, 1324, 1326 или 1328 сегмента, единица 1342 преобразования, имеющая размер 2Nx2N, задается, когда флаг TU-размера равен 0, и единица 1344 преобразования, имеющая размер NxN, задается, когда флаг TU-размера равен 1.
Когда тип сегмента задается как асимметричный, т.е. тип 1332, 1334, 1336 или 1338 сегмента, единица 1352 преобразования, имеющая размер 2Nx2N, задается, если флаг TU-размера равен 0, и единица 1354 преобразования, имеющая размер N/2xN/2 задается, если флаг TU-размера равен 1.
Ссылаясь на фиг. 18, флаг TU-размера является флагом, имеющим значение или 0 или 1, но не ограничивается однобитовым флагом, и единица преобразования может иерархически разбиваться, в то время как флаг TU-размера увеличивается до 0, 1, 2, 3.... Флаг TU-размера может быть использован в качестве варианта осуществления индекса преобразования.
В этом случае, размер единицы преобразования, которая фактически использована, может выражаться посредством использования флага TU-размера единицы преобразования, согласно варианту осуществления настоящего изобретения, вместе с максимальным размером и минимальным размером единицы преобразования. Согласно варианту осуществления настоящего изобретения, устройство 100 кодирования видео может кодировать информацию размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера. Результат кодирования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера может быть вставлен в SPS. Согласно варианту осуществления настоящего изобретения, устройство 200 декодирования видео может декодировать видео посредством использования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера.
Например, если размер текущей единицы кодирования равен 64x64, и размер максимальной единицы преобразования равен 32x32, то размер единицы преобразования может составлять 32x32, когда флаг TU-размера равен 0, может составлять 16x16, когда флаг TU-размера равен 1, и может составлять 8x8, когда флаг TU-размера равен 2.
В качестве другого примера, если размер текущей единицы кодирования равен 32x32, и размер минимальной единицы преобразования равен 32x32, то размер единицы преобразования может составлять 32x32, когда флаг TU-размера равен 0. Здесь, флаг TU-размера не может задаваться равным значению, отличному от 0, поскольку размер единицы преобразования не может составлять меньше 32x32.
В качестве другого примера, если размер текущей единицы кодирования равен 64x64, и флаг максимального TU-размера равен 1, то флаг TU-размера может составлять 0 или 1. Здесь, флаг TU-размера не может задаваться равным значению, отличному от 0 или 1.
Таким образом, если задается то, что флагом максимального TU-размера является MaxTransformSizelndex, размером минимальной единицы преобразования является MinTransformSize, а размером единицы преобразования является RootTuSize, когда флаг TU-размера равен 0, то текущий размер минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования, может быть задан посредством уравнения (1):
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) (1)
По сравнению с размером текущей минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может обозначать размер максимальной единицы преобразования, который может быть выбран в системе. В уравнении (1), RootTuSize/(2^MaxTransformSizeIndex) обозначает размер единицы преобразования, когда размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, разбивается число раз, соответствующее флагу максимального TU-размера, а MinTransformSize обозначает минимальный размер преобразования. Таким образом, меньшее значение из RootTuSize/(2^MaxTransformSizeIndex) и MinTransformSize может быть размером текущей минимальной единицы преобразования CurrMinTuSize, который может быть определен в текущей единице кодирования.
Согласно варианту осуществления настоящего изобретения, размер максимальной единицы преобразования RootTuSize может варьироваться согласно типу режима прогнозирования.
Например, если текущим режимом прогнозирования является внешний режим, то RootTuSize может быть определен посредством использования нижеприведенного уравнения (2). В уравнении (2), MaxTransformSize обозначает размер максимальной единицы преобразования, и PUSize обозначает размер текущей единицы прогнозирования.
RootTuSize=min(MaxTransformSize, PUSize) (2)
Иными словами, если текущим режимом прогнозирования является внешний режим, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может быть меньшим значением из размера максимальной единицы преобразования и размера текущей единицы прогнозирования.
Если режимом прогнозирования текущей единицы сегментирования является внутренний режим, RootTuSize может быть определен посредством использования нижеприведенного уравнения (3). В уравнении (3), PartitionSize обозначает размер текущей единицы сегментирования.
RootTuSize=min(MaxTransformSize, PartitionSize) (3)
Иными словами, если текущим режимом прогнозирования является внутренний режим, размер единицы преобразования RootTuSize, когда флаг TU-размера равен 0, может быть меньшим значением из размера максимальной единицы преобразования и размера текущей единицы сегментирования.
Тем не менее, размер текущей максимальной единицы преобразования RootTuSize, который варьируется согласно типу режима прогнозирования в единице сегментирования, является просто примером, и настоящее изобретение не ограничено этим.
Согласно способу кодирования видео, выполняемому на основе единиц кодирования, имеющих древовидную структуру, описанному выше со ссылкой на фиг. 6-18, данные изображений в пространственной области кодируются для каждой из единиц кодирования, имеющих древовидную структуру. Согласно способу декодирования видео, выполняемому на основе единиц кодирования, имеющих древовидную структуру, данные изображений в пространственной области восстанавливаются посредством декодирования максимальных единиц кодирования, чтобы восстанавливать изображение и видео, которое является последовательностью изображений. Восстановленное видео может быть воспроизведено с использованием устройства воспроизведения, может быть сохранено на носителе записи или может быть передано через сеть.
Кроме того, параметр смещения может быть передан в служебных сигналах в единицах изображений, слайсов, максимальных единиц кодирования, единиц кодирования, имеющих древовидную структуру, единиц прогнозирования единицы кодирования или единиц преобразования единицы кодирования. Например, максимальная единица кодирования, имеющая наименьшую ошибку относительно исходного блока, может быть восстановлена посредством регулирования восстановленных пиксельных значений максимальных единиц кодирования посредством использования значений смещения, восстановленных на основе принимаемых параметров смещения максимальных единиц кодирования.
Варианты осуществления настоящего изобретения могут быть записаны в качестве компьютерной программы и могут быть реализованы в цифровых компьютерах общего назначения, которые выполняют программы с использованием считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения данных (например, ROM, гибкие диски, жесткие диски и т.д.) и оптические носители записи (например, CD-ROM или DVD).
Хотя это изобретение конкретно показано и описано со ссылкой на его предпочтительные варианты осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и содержанию могут быть сделаны без отступления от сущности и объема изобретения, заданных посредством прилагаемой формулы изобретения. Предпочтительные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Следовательно, объем изобретения задается не посредством подробного описания изобретения, а посредством прилагаемой формулы изобретения, и любые отличия в пределах объема должны истолковываться как включенные в настоящее изобретение.