СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО, ОПРЕДЕЛЯЮЩИЕ СПИСОК ОПОРНЫХ ИЗОБРАЖЕНИЙ ВНЕШНЕГО ПРОГНОЗИРОВАНИЯ В ЗАВИСИМОСТИ ОТ РАЗМЕРА БЛОКА
METHOD AND APPARATUS FOR ENCODING VIDEO AND METHOD AND APPARATUS FOR DECODING VIDEO, DETERMINING THE LIST OF REFERENCE EXTERNAL PREDICTION IMAGE DEPENDING ON THE UNIT SIZE

Область техники, к которой относится изобретение
Настоящее раскрытие сущности относится к кодированию и декодированию видео с применением внешнего прогнозирования.
Уровень техники
По мере того, как разрабатываются и предоставляются аппаратные средства для воспроизведения и сохранения высококачественного видеоконтента высокого разрешения, растет потребность в видеокодеке для эффективного кодирования или декодирования высококачественного видеоконтента высокого разрешения. В традиционном видеокодеке видео кодируется согласно ограниченному способу кодирования на основе макроблока, имеющего предварительно определенный размер.
Видеокодек уменьшает объем данных посредством использования способа прогнозирования посредством использования такого признака, что изображения видео имеют высокую корреляцию во времени и пространстве. Согласно способу прогнозирования, для того, чтобы прогнозировать текущее изображение посредством использования соседнего изображения, информация изображений записывается посредством использования временного расстояния или пространственного расстояния между изображениями или ошибки прогнозирования.
Сущность изобретения
Техническая задача
Настоящее раскрытие сущности предоставляет способ определения списка опорных изображений для внешнего прогнозирования и способ внешнего прогнозирования согласно способу.
Настоящее раскрытие сущности также предоставляет способ кодирования видео для эффективного кодирования и передачи информации списков опорных изображений и способ декодирования видео для получения и считывания информации списков опорных изображений.
Техническое решение
Согласно аспекту настоящего раскрытия сущности, предусмотрен способ прогнозирования движения, причем способ прогнозирования движения включает в себя в себя: определение, когда текущий слайс представляет собой B-слайс, списка опорных изображений, используемого посредством текущей единицы прогнозирования из единиц прогнозирования, включенных в единицу кодирования; и вывод, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, информации индекса внешнего прогнозирования для текущей единицы прогнозирования, указывающей список опорных изображений из L0-списка и L1-списка, а когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, информации индекса внешнего прогнозирования текущей единицы прогнозирования, указывающей список опорных изображений из L0-списка, L1-списка и списка бипрогнозирования.
Преимущества изобретения
Согласно способу прогнозирования движения одного или более вариантов осуществления, когда размер единицы прогнозирования составляет 4x8 или 8x4, может быть пропущено кодирование символов для указания того, что список опорных изображений для двунаправленного внешнего прогнозирования представляет собой список бипрогнозирования. Поскольку пропускается операция передачи необязательной связанной со списками опорных изображений информации, может уменьшаться число передаваемых битов. Кроме того, согласно способу компенсации движения вариантов осуществления, когда размер единицы прогнозирования составляет 4x8 или 8x4, пропускается операция проверки того, представляет или нет список опорных изображений для двунаправленного внешнего прогнозирования собой список бипрогнозирования, и за счет этого также может упрощаться операция синтаксического анализа данных.
Краткое описание чертежей
Вышеописанные и другие признаки и преимущества настоящего раскрытия сущности должны становиться более очевидными посредством подробного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи, из которых:
Фиг. 1A является блок-схемой, иллюстрирующей устройство определения опорных изображений согласно одному или более вариантов осуществления;
Фиг. 1B является блок-схемой последовательности операций, иллюстрирующей способ определения опорного изображения согласно одному или более вариантов осуществления;
Фиг. 2A является блок-схемой, иллюстрирующей устройство прогнозирования движения, включающее в себя устройство определения опорных изображений согласно одному или более вариантов осуществления;
Фиг. 2B является блок-схемой последовательности операций, иллюстрирующей способ прогнозирования движения согласно одному или более вариантов осуществления;
Фиг. 3A является блок-схемой, иллюстрирующей устройство компенсации движения, включающее в себя устройство определения опорных изображений согласно одному или более вариантов осуществления;
Фиг. 3B является блок-схемой последовательности операций, иллюстрирующей способ компенсации движения согласно одному или более вариантов осуществления;
Фиг. 4 иллюстрирует два примерных варианта осуществления информации индекса внутреннего прогнозирования;
Фиг. 5 является блок-схемой, иллюстрирующей устройство кодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления;
Фиг. 6 является блок-схемой, иллюстрирующей устройство декодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления;
Фиг. 7 является схемой для описания принципа единиц кодирования согласно одному или более вариантов осуществления;
Фиг. 8 является блок-схемой кодера изображений на основе единиц кодирования согласно одному или более вариантов осуществления;
Фиг. 9 является блок-схемой декодера изображений на основе единиц кодирования согласно одному или более вариантов осуществления;
Фиг. 10 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегментам согласно одному или более вариантов осуществления;
Фиг. 11 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно одному или более вариантов осуществления;
Фиг. 12 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно одному или более вариантов осуществления;
Фиг. 13 является схемой более глубоких единиц кодирования согласно глубинам, согласно одному или более вариантов осуществления;
Фиг. 14-16 являются схемами для описания взаимосвязи между единицами кодирования, единицами прогнозирования и единицами преобразования, согласно одному или более вариантов осуществления;
Фиг. 17 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования и единицей преобразования, согласно информации режима кодирования по таблице 1;
Фиг. 18 иллюстрирует физическую структуру диска, на котором сохраняется программа, согласно одному или более вариантов осуществления;
Фиг. 19 иллюстрирует накопитель на дисках для записи и считывания программы посредством использования диска;
Фиг. 20 иллюстрирует общую структуру системы предоставления контента для предоставления услуг распространения контента, согласно одному или более вариантов осуществления;
Фиг. 21 и 22 иллюстрируют внешнюю конструкцию и внутреннюю конструкцию мобильного телефона, к которому применяются способ кодирования видео и способ декодирования видео согласно вариантам осуществления настоящего раскрытия сущности;
Фиг. 23 иллюстрирует цифровую широковещательную систему, в которой применяется система связи согласно одному или более вариантов осуществления, согласно одному или более вариантов осуществления; и
Фиг. 24 иллюстрирует сетевую структуру облачной вычислительной системы с использованием устройства кодирования видео и устройства декодирования видео согласно одному или более вариантов осуществления.
Оптимальный режим осуществления изобретения
Согласно аспекту настоящего раскрытия сущности, предусмотрен способ прогнозирования движения, причем способ прогнозирования движения включает в себя в себя: определение, когда текущий слайс представляет собой B-слайс, списка опорных изображений, используемого посредством текущей единицы прогнозирования из единиц прогнозирования, включенных в единицу кодирования; и вывод, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, информации индекса внешнего прогнозирования для текущей единицы прогнозирования, указывающей список опорных изображений из L0-списка и L1-списка, а когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, информации индекса внешнего прогнозирования текущей единицы прогнозирования, указывающей список опорных изображений из L0-списка, L1-списка и списка бипрогнозирования.
Способ прогнозирования движения дополнительно может включать в себя: определение того, разрешается или нет внешнее прогнозирование, при котором список бипрогнозирования, включающий в себя L0-список и L1-список, используется для текущей единицы прогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4 в текущем слайсе; и включение информации ограничения бипрогнозирования, указывающей то, что внешнее прогнозирование, при котором список бипрогнозирования используется для текущей единицы прогнозирования, не разрешается относительно единицы прогнозирования размера 4x8 или 8x4, в заголовок слайса текущего слайса.
Вывод информации индекса внешнего прогнозирования текущей единицы прогнозирования может включать в себя вывод, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, информации индекса внешнего прогнозирования, указывающей то, что список опорных изображений для текущей единицы прогнозирования представляет собой список опорных изображений, за исключением списка бипрогнозирования.
При выводе, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, может быть пропущена операция преобразования в двоичную форму для получения информации, указывающей то, что список опорных изображений представляет собой список бипрогнозирования.
Согласно другому аспекту настоящего раскрытия сущности, предусмотрен способ компенсации движения, причем способ компенсации движения включает в себя: получение, когда текущий слайс представляет собой B-слайс, информации индекса внешнего прогнозирования, указываемой согласно типу списка опорных изображений, который должен быть использован посредством текущей единицы прогнозирования из единиц прогнозирования, включенных в единицу кодирования; и определение, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, списка опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования, указывающей то, что список опорных изображений представляет собой один из L0-списка и L1-списка, а когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, определение списка опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования, указывающей то, что список опорных изображений представляет собой один из L0-списка, L1-списка и списка бипрогнозирования.
Способ компенсации движения дополнительно может включать в себя: синтаксический анализ информации ограничения бипрогнозирования, указывающей то, разрешается или нет внешнее прогнозирование относительно единицы прогнозирования размера 4x8 или 8x4, из заголовка слайса текущего слайса; и определение того, разрешается или нет внешнее прогнозирование, при котором список бипрогнозирования, включающий в себя L0-список и L1-список, используется для текущей единицы прогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4 в текущем слайсе на основе синтаксически проанализированной информации ограничения бипрогнозирования.
При получении информации индекса внешнего прогнозирования, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, может быть пропущена операция считывания информации, указывающей то, что список опорных изображений представляет собой список бипрогнозирования, из битовой строки преобразования в двоичную форму, синтаксически проанализированной из потока битов.
Определение может включать в себя считывание списка опорных изображений, отличного от списка бипрогнозирования, из информации индекса внешнего прогнозирования, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, при этом когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, пропускается операция проверки того, указывает или нет информация индекса внешнего прогнозирования то, что список опорных изображений представляет собой список бипрогнозирования.
Согласно другому аспекту настоящего раскрытия сущности, предусмотрено устройство прогнозирования движения, включающее в себя: модуль прогнозирования движения для определения, когда текущий слайс представляет собой B-слайс, списка опорных изображений, который должен быть использован посредством текущей единицы прогнозирования из единиц прогнозирования, включенных в единицу кодирования, и опорного блока для текущей единицы прогнозирования из восстановленных изображений, принадлежащих списку опорных изображений; и модуль вывода информации внешнего прогнозирования для вывода, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, информации индекса внешнего прогнозирования для текущей единицы прогнозирования, указывающей то, что список опорных изображений представляет собой один из L0-списка и L1-списка, а когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, информации индекса внешнего прогнозирования текущей единицы прогнозирования, указывающей список опорных изображений, который представляет собой один из L0-списка, L1-списка и списка бипрогнозирования.
Согласно другому аспекту настоящего раскрытия сущности, предусмотрено устройство компенсации движения, включающее в себя: модуль получения информации внешнего прогнозирования для получения, когда текущий слайс представляет собой B-слайс, информации индекса внешнего прогнозирования, указывающей список опорных изображений согласно типу списка опорных изображений, который должен быть использован посредством текущей единицы прогнозирования из единиц прогнозирования, включенных в единицу кодирования; и модуль компенсации движения для определения, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, списка опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования текущей единицы прогнозирования, указывающей то, что список опорных изображений представляет собой один из L0-списка и L1-списка, и определения, когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, списка опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования текущей единицы прогнозирования, указывающей то, что список опорных изображений представляет собой один из L0-списка, L1-списка и списка бипрогнозирования, и выполнения компенсации движения над текущей единицей прогнозирования посредством использования определенного списка опорных изображений.
Согласно другому аспекту настоящего раскрытия сущности, предусмотрен считываемый компьютером носитель записи, имеющий реализованную компьютерную программу для осуществления способа прогнозирования движения, описанного выше.
Согласно другому аспекту настоящего раскрытия сущности, предусмотрен считываемый компьютером носитель записи, имеющий реализованную компьютерную программу для осуществления способа компенсации движения, описанного выше.
Оптимальный режим осуществления изобретения
Такие выражения, как "по меньшей мере, один из", предваряющие список элементов, модифицируют весь список элементов и не модифицируют отдельные элементы списка.
В дальнейшем в этом документе, описываются способ и устройство для определения опорного изображения, для которого является возможным однонаправленное прогнозирование или двунаправленное прогнозирование согласно одному или более вариантов осуществления, а также способ и устройство для прогнозирования движения согласно способу и устройству для определения и способ и устройств для компенсации движения, со ссылкой на фиг. 1A-4. Кроме того, описываются устройство кодирования видео и устройство декодирования видео согласно одному или более вариантов осуществления на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления, а также способ кодирования видео и способ декодирования видео согласно одному или более вариантов осуществления, со ссылкой на фиг. 5-17. Кроме того, описываются варианты осуществления, в которых способ кодирования видео и способ декодирования видео согласно вариантам осуществления, со ссылкой на фиг. 18-24. В дальнейшем в этом документе, "изображение" может означать неподвижное изображение видео или движущегося изображения, т.е. само видео.
Фиг. 1A является блок-схемой, иллюстрирующей устройство 10 определения опорных изображений согласно одному или более вариантов осуществления. Фиг. 1B является блок-схемой последовательности операций, иллюстрирующей способ определения опорного изображения согласно одному или более вариантов осуществления.
Устройство 10 определения опорных изображений включает в себя модуль 12 определения списков опорных изображений и модуль 14 определения опорных индексов.
Устройство 10 определения опорных изображений может включать в себя центральный процессор (не показан), который выполняет общее управление модулем 12 определения списков опорных изображений и модулем 14 определения опорных индексов. Альтернативно, модуль 12 определения списков опорных изображений и модуль 14 определения опорных индексов могут, соответственно, управляться посредством отдельные процессоров (не показаны), включенных в каждый из модуля 12 определения списков опорных изображений и модуля 14 определения опорных индексов, и процессоры могут взаимодействовать друг с другом таким образом, чтобы управлять устройством 10 определения опорных изображений. Альтернативно, модуль 12 определения списков опорных изображений и модуль 14 определения опорных индексов могут управляться согласно управлению внешним процессором (не показан) устройства 10 определения опорных изображений.
Устройство 10 определения опорных изображений может включать в себя, по меньшей мере, один модуль хранения данных (не показан), в котором сохраняются входные и выходные данные модуля 12 определения списков опорных изображений и модуля 14 определения опорных индексов. Устройство 10 определения опорных изображений может включать в себя модуль управления запоминающим устройством (не показан), который отвечает за ввод и вывод данных модуля хранения данных (не показан).
Устройство 10 определения опорных изображений определяет опорное изображение, используемое при временном прогнозировании изображений видео. Устройство 10 определения опорных изображений определяет информацию прогнозирования, указывающую разность в позициях текущего изображения и опорного изображения или остатка. Соответственно, информация изображений может записываться посредством использования информации прогнозирования вместо использования всех данных изображений.
Согласно способу кодирования временного прогнозирования, текущее изображение может быть прогнозировано посредством обращения к предыдущему и последующему изображениям с точки зрения времени воспроизведения. Независимо от того, является изображение предшествующим или последующим с точки зрения времени воспроизведения, к изображениям, которые кодированы или восстановлены перед текущим изображением в отношении порядка кодирования или порядка декодирования, можно обращаться для прогнозирующего кодирования текущего изображения. Текущее изображение и опорное изображение могут представлять собой единицу данных изображений, включающую в себя изображение, кадр, поле, слайс и т.п.
Устройство 10 определения опорных изображений может разбивать текущее изображение на множество блоков для быстрого вычисления внешнего прогнозирования и может выполнять внешнее прогнозирование относительно блоков. Иными словами, из множества блоков, полученных посредством разбиения текущего изображения, для внешнего прогнозирования текущего изображения можно обращаться к одному из множества блоков, полученных посредством разбиения текущего изображения.
Внешнее прогнозирование для изображения на основе B-слайсов может включать в себя прямое прогнозирование и обратное прогнозирование. При прямом прогнозировании можно обращаться к изображениям, имеющим номера POC (номера в последовательности изображений), которые предшествуют текущему изображению, для того чтобы выполнять внешнее прогнозирование текущего изображения. Напротив, при обратном прогнозировании можно обращаться к изображениям, имеющим POC-номера, которые находятся после POC-номера текущего изображения, для того чтобы выполнять внешнее прогнозирование текущего изображения.
Список опорных изображений включает в себя индекс, который указывает опорное изображение. Список опорных изображений согласно одному или более вариантов осуществления может классифицироваться на L0-список и L1-список. L0-список и L1-список могут включать в себя опорный индекс, указывающий опорное изображение и информацию относительно опорного порядка. Базовое эффективное число опорных изображений, которые должны выделяться списку опорных изображений, может быть предварительно установлено.
Например, L0-список для прогнозирования из списка 0 может включать в себя опорный индекс, указывающий опорные изображения для прямого прогнозирования. Тем не менее, если число опорных изображений для прямого прогнозирования меньше базового эффективного числа опорных изображений, заданного в L0-списке, L0-список дополнительно может включать в себя опорный индекс, указывающий опорные изображения для обратного прогнозирования.
Например, L1-список для прогнозирования из списка 1 может включать в себя опорный индекс, указывающий опорные изображения для обратного прогнозирования. Тем не менее, если число опорных изображений для обратного прогнозирования меньше базового эффективного числа опорных изображений, заданного в L1-списке, L1-список дополнительно может включать в себя опорный индекс, указывающий опорные изображения для прямого прогнозирования.
Для внешнего прогнозирования текущего изображения опорное изображение может определяться, по меньшей мере, из одного из списков опорных изображений в виде L0-списка и L1-списка. Модуль 12 определения списков опорных изображений может определять то, какой список опорных изображений использовать для внешнего прогнозирования текущего изображения, на основе B-слайсов.
Например, может определяться то, использует текущий слайс L0-список или L1-список. Кроме того, для текущего слайса может выполняться бипрогнозирование, при котором используется список бипрогнозирования, включающий в себя как L0-список, так и L1-список.
Устройство 10 определения опорных изображений может определять опорный порядок опорных изображений, выделяемых каждому списку опорных изображений. Например, из опорных изображений, выделяемых списку опорных изображений, опорный порядок может определяться таким образом, что предпочтительно обращаются к опорному изображению, которое находится близко к текущему изображению с точки зрения порядка отображения.
Модуль 12 определения списков опорных изображений может проверять тип слайса для слайса, включающего в себя блок, и определять список опорных изображений согласно типу слайса.
Когда слайс представляет собой тип B-слайса, для которого является возможным унипрогнозирование или бипрогнозирование, модуль 12 определения списков опорных изображений может определять список опорных изображений блока в качестве одного из L0-списка, L1-списка и списка бипрогнозирования. Модуль 12 определения списков опорных изображений может определять список опорных изображений, используемый при внешнем прогнозировании слайса. Список опорных изображений может определяться в качестве одного из L0-списка, L1-списка и списка бипрогнозирования.
Согласно одному или более вариантов осуществления, типы списков опорных изображений, которые могут использоваться при внешнем прогнозировании, могут быть ограничены согласно размеру блока. Например, когда размер блока в типе B-слайса составляет 4x8 или 8x4, может разрешаться внешнее прогнозирование, которое использует один список опорных изображений из L0-списка и L1-списка. Внешнее прогнозирование, которое использует список бипрогнозирования, может не разрешаться для блока в типе B-слайса.
Модуль 14 определения опорных индексов может определять опорный индекс, указывающий опорное изображение из списка опорных изображений, на основе списка опорных изображений.
Например, модуль 14 определения опорных индексов может определять в качестве опорного индекса для блока, опорный L0-индекс из L0-списка или опорный L1-индекс из L1-списка.
В дальнейшем в этом документе, описывается операция определения опорного изображения посредством использования устройства 10 определения опорных изображений для внешнего прогнозирования со ссылкой на фиг. 1B.
На этапе 11, модуль 12 определения списков опорных изображений может проверять тип слайса для слайса, которая включает в себя блок. На этапе 13, модуль 12 определения списков опорных изображений может определять список опорных изображений блока в качестве одного из L0-списка, L1-списка и списка бипрогнозирования, если тип текущего слайса представляет собой тип B-слайса.
На этапе 15, если список опорных изображений, определенный посредством модуля 12 определения списков опорных изображений, не представляет собой L1-список, модуль 14 определения опорных индексов может определять в качестве опорного индекса для блока, опорный L0-индекс из L0-списка. Иными словами, когда список опорных изображений представляет собой L0-список или список бипрогнозирования, по меньшей мере, один опорный индекс может выбираться из L0-списка.
Если список опорных изображений, определенный посредством модуля 12 определения списков опорных изображений, представляет собой L1-список, опорный L0-индекс не определяется, а способ переходит к этапу 17.
На этапе 17, когда список опорных изображений, определенный посредством модуля 12 определения списков опорных изображений, не представляет собой L0-список, модуль 14 определения опорных индексов может определять опорный L1-индекс из L1-списка в качестве опорного индекса для блока. Иными словами, когда список опорных изображений представляет собой L1-список или список бипрогнозирования, по меньшей мере, один опорный индекс может выбираться из L1-списка.
Соответственно, когда список опорных изображений представляет собой список бипрогнозирования, по меньшей мере, один опорный L0-индекс может определяться из L0-списка, и, по меньшей мере, один опорный L1-индекс может определяться из L1-списка.
На этапе 15, модуль 14 определения опорных индексов может определять опорный L0-индекс, а также может определять дифференциальное значение первого вектора движения, указывающего опорный блок в опорном изображении, указываемом посредством опорного L0-индекса.
На этапе 17, модуль 14 определения опорных индексов может определять опорный L1-индекс, а также может определять дифференциальное значение второго вектора движения, указывающего опорный блок в опорном изображении, указываемом посредством опорного L1-индекса.
Опорный индекс указывает порядок опорных изображений, принадлежащих списку опорных изображений, и вектор движения может указывать позицию опорного блока в предварительно определенном опорном изображении. Соответственно, на основе опорного индекса и вектора движения, могут определяться опорное изображение и опорный блок для внешнего прогнозирования блока.
Устройство 10 определения опорных изображений может использовать 2-битовую информацию индекса внешнего прогнозирования в качестве информации, указывающей список опорных изображений.
Чтобы выполнять контекстное энтропийное кодирование или энтропийное декодирование относительно 2-битовой информации индекса внешнего прогнозирования согласно одному или более вариантов осуществления, может использоваться контекстная модель, включающая в себя информацию вероятности символа, указывающего информацию индекса внешнего прогнозирования. В частности, контекстная модель определяется для каждого элемента выборки символа, и за счет этого может определяться контекстная модель для каждого из двух элементов выборки, надлежащим образом соответствующих 2 битам информации внешнего прогнозирования.
Первый элемент выборки из числа элементов выборки информации индекса внешнего прогнозирования согласно одному или более вариантов осуществления может указывать то, представляет собой список опорных изображений один список или список бипрогнозирования. Когда первый элемент выборки указывает внешнее прогнозирование из списка бипрогнозирования, более не должен задаваться второй элемент выборки. Тем не менее, когда первый элемент выборки указывает внешнее прогнозирование, при котором используется один список опорных изображений, второй список может указывать то, представляет собой один список опорных изображений L0-список или L1-список.
Согласно одному или более вариантов осуществления, когда сумма размеров по горизонтали и вертикали блока в типе B-слайса равна 12, как и в случае размера блока 4x8 или 8x4, не разрешается внешнее прогнозирование, при котором используется список бипрогнозирования. Таким образом, информация индекса внешнего прогнозирования блока может указывать L0-список или L1-список. Только список опорных изображений, за исключением списка бипрогнозирования, может определяться в качестве информации индекса внешнего прогнозирования. Соответственно, в качестве информации индекса внешнего прогнозирования блока, определяется битовая строка, указывающая прогнозирование из L0-списка или прогнозирование из L1-списка, и может не определяться битовая строка, указывающая бипрогнозирование.
Когда сумма размеров по горизонтали и вертикали блока в типе B-слайса не равна 12, информация индекса внешнего прогнозирования, указывающая одно из прогнозирования из L0-списка, прогнозирования из L1-списка, бипрогнозирования, может определяться относительно блока в типе B-слайса.
В дальнейшем в этом документе, описывается операция выполнения прогнозирования движения посредством использования опорного изображения, определенного посредством использования устройства 10 определения опорных изображений, со ссылкой на фиг. 2A и 2B. Кроме того, описывается операция выполнения компенсации движения посредством использования опорного изображения, определенного посредством использования устройства 10 определения опорных изображений, со ссылкой на фиг. 3A и 3B.
Фиг. 2A является блок-схемой, иллюстрирующей устройство 20 прогнозирования движения, включающее в себя устройство 10 определения опорных изображений согласно одному или более вариантов осуществления. Фиг. 2B является блок-схемой последовательности операций, иллюстрирующей способ прогнозирования движения согласно одному или более вариантов осуществления.
Устройство 20 прогнозирования движения включает в себя модуль 22 прогнозирования движения и модуль 24 вывода информации внешнего прогнозирования.
Модуль 22 прогнозирования движения может проверять тип слайса текущего слайса, включающего в себя текущий блок. Модуль 22 прогнозирования движения может определять список опорных изображений, который должен использоваться посредством текущего блока при внешнем прогнозировании, когда текущий слайс представляет собой B-слайс.
Модуль 22 прогнозирования движения может выполнять прогнозирование движения относительно блока посредством использования опорных изображений, принадлежащих, по меньшей мере, одному из L0-списка и L1-списка. Модуль 22 прогнозирования движения может определять опорное изображение для текущего блока из числа опорных изображений, выделяемых определенному списку опорных изображений.
Модуль 22 прогнозирования движения может определять опорный блок для текущего блока из восстановленных изображений, принадлежащих списку опорных изображений. Модуль 22 прогнозирования движения может определять подобие между блоками определенного опорного изображения и текущим блоком текущего изображения, чтобы обнаруживать блок, имеющий наименьшую ошибку относительно текущего блока. Иными словами, блок, аналогичный текущему блоку, может быть обнаружен посредством прогнозирования движения, и обнаруженный блок может определяться в качестве опорного блока. Кроме того, изображение, включающее в себя обнаруженный опорный блок, может определяться в качестве опорного изображения. Когда определяется, по меньшей мере, один опорный блок, который является в наибольшей степени аналогичным текущему блоку, может определяться, по меньшей мере, одно опорное изображение.
Модуль 22 прогнозирования движения может формировать вектор движения, указывающий пространственное расстояние между текущей единицей прогнозирования и опорным блоком, и остатки, указывающие разность между пиксельными значениями текущей единицы прогнозирования и опорного блока.
Модуль 24 вывода информации внешнего прогнозирования может выводить информацию опорного индекса, указывающую восстановленное изображение, которое включает в себя опорный блок, из восстановленных изображений, принадлежащих списку опорных изображений, информацию разности векторов движения, указывающую разность между вектором движения текущей единицы прогнозирования и предыдущим вектором движения, и остаток.
Модуль 24 вывода информации внешнего прогнозирования может формировать и выводить информацию индекса внешнего прогнозирования, указывающую тип списка опорных изображений для текущего блока. Для внешнего прогнозирования текущего блока может выводиться информация индекса внешнего прогнозирования, указывающая то, используется L0-список, L1-список или список бипрогнозирования.
Текущий блок, в котором выполняется внешнее прогнозирование, может упоминаться в качестве единицы прогнозирования. На этапе 21, модуль 22 прогнозирования движения может определять опорный список, используемый посредством текущей единицы прогнозирования из единиц прогнозирования, когда текущий слайс, в который включена единица кодирования, представляет собой B-слайс. В качестве опорного списка может определяться L0-список, L1-список или список бипрогнозирования.
Модуль 22 прогнозирования движения может определять размер единицы прогнозирования и может ограничивать типы списка опорных изображений, который может выбираться для внешнего прогнозирования, согласно размеру единицы прогнозирования.
Когда размер текущего блока составляет 4x8 или 8x4, индекс внешнего прогнозирования текущего блока может указывать список опорных изображений, который представляет собой один из L0-списка и L1-списка. Когда размер текущего блока не составляет 4x8 или 8x4, индекс внешнего прогнозирования текущего блока может указывать список опорных изображений, который представляет собой один из L0-списка, L1-списка и списка бипрогнозирования.
На этапе 23, модуль 24 вывода информации внешнего прогнозирования может выводить информацию индекса внешнего прогнозирования для текущей единицы прогнозирования.
Модуль 24 вывода информации индексов внешнего прогнозирования может включать информацию индекса внешнего прогнозирования, указывающую одно из L0-прогнозирования, L1-прогнозирования и бипрогнозирования, в поле единиц прогнозирования, включающее в себя информацию прогнозирования блока в потоке битов.
Кроме того, если информация индекса внешнего прогнозирования не представляет L1-прогнозирование, модуль 24 вывода информации индексов внешнего прогнозирования может включать информацию опорного L0-индекса и информацию разностных значений первого вектора движения в поле единиц прогнозирования.
Поскольку опорный блок и опорное изображение определяются посредством модуля 22 прогнозирования движения, может определяться информация, указывающая опорное изображение, например, номер опорного изображения из изображений, принадлежащих списку опорных изображений, т.е. опорный индекс. Если опорное изображение принадлежит L0-списку, может определяться опорный L0-индекс, а если опорное изображение принадлежит L1-списку, может определяться опорный L1-индекс. Модуль 24 вывода информации индексов внешнего прогнозирования может формировать и включать информацию опорного индекса в поле единиц прогнозирования.
Модуль 24 вывода информации индексов внешнего прогнозирования может включать информацию, сформированную в результате внешнего прогнозирования, в заголовок слайса и поле единиц прогнозирования, и может передавать поток битов, включающий в себя заголовок слайса и поле единиц прогнозирования.
Модуль 24 вывода информации индексов внешнего прогнозирования может энтропийно кодировать информацию индекса внешнего прогнозирования посредством использования контекстной модели, которая определяется для каждого элемента выборки информации индекса внешнего прогнозирования. Модуль 24 вывода информации индексов внешнего прогнозирования может передавать не только те различные символы, которые формируются в результате предыдущего внешнего прогнозирования, т.е. информацию индекса внешнего прогнозирования, но также и битовую строку, которая формируется посредством выполнения энтропийного кодирования для получения информации разностных значений вектора движения или информации опорного индекса и т.п.
Модуль 22 прогнозирования движения может предварительно устанавливать то, разрешается или нет внешнее прогнозирование, при котором список бипрогнозирования, включающий в себя L0-список и L1-список, относительно единицы прогнозирования размера 4x8 или 8x4 в текущем слайсе. В этом случае, модуль 24 вывода информации индексов внешнего прогнозирования может включать, в заголовок слайса текущего слайса, информацию ограничения бипрогнозирования, указывающую то, что не разрешается внешнее прогнозирование, при котором используется список бипрогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4.
Когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 24 вывода информации индексов внешнего прогнозирования может выводить информацию индекса внешнего прогнозирования, указывающую то, что список опорных изображений для текущей единицы прогнозирования представляет собой список опорных изображений, за исключением списка бипрогнозирования. Соответственно, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 24 вывода информации индексов внешнего прогнозирования может пропускать операцию преобразования в двоичную форму относительно информации, указывающей то, что список опорных изображений представляет собой список бипрогнозирования.
Информация прогнозирования, кодированная посредством энтропийного кодирования, может быть включена в блочную область потока битов, который должен передаваться.
Фиг. 3A является блок-схемой, иллюстрирующей устройство 30 компенсации движения, включающее в себя устройство 10 определения опорных изображений согласно одному или более вариантов осуществления. Фиг. 3B является блок-схемой последовательности операций, иллюстрирующей способ компенсации движения согласно одному или более вариантов осуществления.
Устройство 30 компенсации движения включает в себя модуль 32 получения информации внешнего прогнозирования и модуль 34 компенсации движения.
В общем, в процессе кодирования видео, может выполняться прогнозирование движения и компенсация движения. Компенсация движения может выполняться также в процессе декодирования видео. После того, как выполняется прогнозирование движения относительно исходного изображения, чтобы формировать восстановленное изображение, которое является идентичным исходному изображению, через компенсацию движения, компенсация движения должна выполняться посредством использования ссылочной информации и остатков, сформированных через прогнозирование движения. Соответственно, для кодирования и декодирования блока режима внешнего прогнозирования в процессе кодирования видео и процессе декодирования видео, должна передаваться или приниматься информация относительно ссылочной информации (опорного индекса, вектора движения) и остатков.
Модуль 32 получения информации внешнего прогнозирования может синтаксически анализировать информацию типов слайсов из заголовка слайса из принимаемого потока битов. Тип слайса текущего слайса может определяться посредством использования синтаксически проанализированной информации типов слайсов.
Модуль 32 получения информации внешнего прогнозирования может получать информацию относительно размеров единиц прогнозирования, включенных в единицу кодирования. Когда текущий слайс, в который включена единица кодирования, представляет собой B-слайс, дополнительно может получаться информация индекса внешнего прогнозирования, указывающая тип опорного списка, который должен быть использован посредством текущей единицы прогнозирования из единиц прогнозирования.
Когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 34 компенсации движения может определять список опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования, указывающей один из L0-списка и L1-списка. Когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, модуль 34 компенсации движения может определять список опорных изображений текущей единицы прогнозирования на основе информации индекса внешнего прогнозирования, указывающей один из L0-списка, L1-списка и списка бипрогнозирования.
Модуль 34 компенсации движения может выполнять компенсацию движения относительно текущей единицы прогнозирования посредством использования определенного списка опорных изображений.
На этапе 31, когда текущий слайс, в который включена единица кодирования, представляет собой B-слайс, модуль 32 получения информации внешнего прогнозирования может получать информацию индекса внешнего прогнозирования, указывающую тип опорного списка, который должен быть использован посредством текущей единицы прогнозирования из единиц прогнозирования. Из принимаемых потоков битов, информация индекса внешнего прогнозирования, указывающая список опорных изображений текущего блока (единицы прогнозирования), может быть синтаксически проанализирована из поля единиц прогнозирования.
На этапе 33, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 34 компенсации движения может определять L0-список или L1-список в качестве списка опорных изображений, который должен использоваться для текущего внешнего прогнозирования, на основе области единиц прогнозирования.
На этапе 33, когда размер текущей единицы прогнозирования не составляет 4x8 или 8x4, модуль 34 компенсации движения может определять один из L0-списка, L1-списка и списка бипрогнозирования в качестве списка опорных изображений, который должен использоваться для текущего внешнего прогнозирования, на основе информации индекса внешнего прогнозирования.
Модуль 32 получения информации внешнего прогнозирования может синтаксически анализировать, из заголовка слайса текущего слайса, информацию ограничения бипрогнозирования, указывающую то, разрешается или нет внешнее прогнозирование, при котором используется список бипрогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4.
Модуль 32 получения информации внешнего прогнозирования может предполагать, должна или нет синтаксически анализироваться информация индекса внешнего прогнозирования, указывающая прогнозирование из списка бипрогнозирования относительно единицы прогнозирования размера 4x8 или 8x4, в текущем слайсе, на основе синтаксически проанализированной информации ограничения бипрогнозирования.
Кроме того, модуль 32 получения информации внешнего прогнозирования может определять то, следует синтаксически анализировать 2-битовую информацию индекса внешнего прогнозирования или 1-битовую информацию индекса внешнего прогнозирования для единицы прогнозирования, на основе синтаксически проанализированной информации ограничения бипрогнозирования.
Если прогнозирование из списка бипрогнозирования является ограниченным относительно единицы прогнозирования размера 4x8 или 8x4 согласно одному или более вариантов осуществления, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 32 получения информации внешнего прогнозирования может пропускать операцию считывания информации, указывающей то, что список опорных изображений представляет собой список бипрогнозирования, из битовой строки преобразования в двоичную форму, синтаксически проанализированной из потока битов.
Соответственно, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 32 получения информации внешнего прогнозирования может определять список опорных изображений, за исключением списка бипрогнозирования, из информации индекса внешнего прогнозирования. Соответственно, если размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 32 получения информации внешнего прогнозирования может пропускать операцию проверки того, указывает или нет информация индекса внешнего прогнозирования список бипрогнозирования.
Модуль 32 получения информации внешнего прогнозирования может выполнять энтропийное кодирование, при котором используется контекстная модель, определенная для каждого элемента выборки, относительно битовой строки, включающей в себя информацию индекса внешнего прогнозирования, в потоке битов, за счет этого восстанавливая информацию индекса внешнего прогнозирования.
Модуль 32 получения информации внешнего прогнозирования может синтаксически анализировать, из принимаемого потока битов, информацию опорного индекса, разностное значение вектора движения и остатки для каждого блока в режиме внешнего прогнозирования, принадлежащего слайсу.
Модуль 32 получения информации внешнего прогнозирования дополнительно может получать опорный индекс, который определяется на основе опорного списка, указываемого посредством индекса внешнего прогнозирования и информации разности векторов движения. Кроме того, модуль 32 получения информации внешнего прогнозирования может получать информацию типа сегмента единицы кодирования на основе размера единицы кодирования и информацию типа сегмента, так что могут определяться размеры единиц прогнозирования, включенных в единицу кодирования.
Модуль 34 компенсации движения может определять опорное изображение, указывающее опорный индекс текущей единицы прогнозирования из числа первых восстановленных опорных изображений, на основе определенного списка опорных изображений. Модуль 34 компенсации движения может определять опорное изображение, указываемое посредством опорного индекса из списка опорных изображений. Вектор движения текущего блока определяется посредством использования разностного значения вектора движения и предыдущего вектора движения, и опорный блок, указываемый посредством вектора движения, может определяться из блоков опорного изображения. Модуль 34 компенсации движения может комбинировать текущий блок и опорный блок, чтобы компенсировать опорный блок с остатком, за счет этого восстанавливая текущий блок.
Соответственно, модуль 34 компенсации движения может выполнять компенсацию движения посредством использования опорного изображения, определенного для каждого блока, вектора движения и остатков, чтобы формировать восстановленное изображение.
Устройство 20 прогнозирования движения может выражать изображение посредством использования информации прогнозирования вместо всех данных изображений, и в силу этого устройство 20 прогнозирования движения может использоваться при кодировании видео для выполнения кодирования со сжатием видео, которое требует уменьшения объема видеоданных.
Подробно, устройство 20 прогнозирования движения может включаться или соединяться с видеокодером, который кодирует видео на основе единиц кодирования, которые получены посредством разбиения видеоизображения на пространственные области, чтобы за счет этого выполнять внешнее прогнозирование для кодирования видео. Кроме того, для внешнего прогнозирования для единицы кодирования, единица кодирования разбивается на единицы прогнозирования и сегменты, и внешнее прогнозирование может выполняться на основе единиц прогнозирования и сегментов.
Единица кодирования согласно одному или более вариантов осуществления может включать в себя не только блоки, имеющие фиксированно заданную форму, но также и единицы кодирования, имеющие древовидную структуру. Согласно одному или более вариантов осуществления, ниже подробно описываются единицы кодирования, имеющие древовидную структуру, и единицы прогнозирования и сегменты в единицах кодирования, со ссылкой на фиг. 5-17.
Устройство 20 прогнозирования движения может выполнять внешнее прогнозирование относительно блока изображений или данных изображений единицы кодирования, чтобы выводить ошибку прогнозирования относительно опорного изображения, т.е. остаток. Устройство 20 прогнозирования движения может формировать квантованный коэффициент преобразования, который получен посредством преобразования и квантования остатка, и выполнять энтропийное кодирование относительно символов, например, коэффициента преобразования, ссылочной информации и информации кодирования, чтобы выводить поток битов. Устройство 20 прогнозирования движения также может кодировать символы, включающие в себя связанную с L0-списками информацию и связанную с L1-списками информацию, которая включает в себя опорный порядок изображений, принадлежащих каждому списку опорных изображений, или число изображений, либо связанную со списками опорных изображений информацию, к примеру, информацию, связанную с модификацией списка опорных изображений, и выводить их.
Устройство 20 прогнозирования движения также может формировать восстановленное изображение посредством выполнения обратного квантования, обратного преобразования и прогнозирующей компенсации для коэффициента преобразования, чтобы восстанавливать изображение пространственной области, и выполнения контурной фильтрации. Иными словами, устройство 20 прогнозирования движения может обращаться к восстановленному изображению, сформированному посредством использования видеокодера посредством использования, по меньшей мере, одного из L0-списка и L1-списка, чтобы выполнять внешнее прогнозирование относительно текущего изображения, которое представляет собой B-слайс. Восстановленное изображение, сформированное таким образом, используется в качестве опорного изображения для прогнозирования движения следующего входного изображения, и в силу этого устройство 20 прогнозирования движения может снова определять ссылочную информацию и остатки через внешнее прогнозирование относительно следующего входного изображения.
Соответственно, кодирование со сжатием видео может выполняться через прогнозирование движения, выполняемое посредством использования устройства 20 прогнозирования движения.
Чтобы выводить результат кодирования видео, устройство 20 прогнозирования движения может работать в связи с внутренне смонтированным процессором кодирования видео или внешним процессором кодирования видео, чтобы за счет этого выполнять операцию кодирования видео, включающую в себя прогнозирование движения. Внутренний процессор кодирования видео устройства 20 прогнозирования движения может быть реализован посредством дополнительного процессора, и согласно одному или более вариантов осуществления, центральный процессор или графическое вычислительное устройство может активировать процессор кодирования видео для того, чтобы выполнять базовую операцию кодирования видео.
Далее описывается процесс декодирования видео.
Устройство 30 компенсации движения согласно одному или более вариантов осуществления может принимать поток битов, который сжимается через прогнозирование движения, чтобы за счет этого восстанавливать изображение посредством использования информации прогнозирования вместо всех данных изображений.
Устройство 30 компенсации движения может синтаксически анализировать из блочной области потока битов опорный индекс, указывающий опорное изображение для текущего блока, вектор движения и остаток.
Устройство 30 компенсации движения может включаться или соединяться с видеодекодером, который декодирует видео на основе единиц кодирования, которые получены посредством разбиения видеоизображения на пространственные области, чтобы за счет этого выполнять компенсацию движения для декодирования видео. Кроме того, единица кодирования для компенсации движения может включать в себя единицы прогнозирования и сегменты, и компенсация движения может выполняться на основе единиц прогнозирования и сегментов. Как описано выше, единица кодирования согласно одному или более вариантов осуществления может включать в себя не только блоки, имеющие фиксированно заданную форму, но также и единицы кодирования, имеющие древовидную структуру.
Устройство 30 компенсации движения может выполнять энтропийное декодирование относительно принимаемого потока битов, чтобы синтаксически анализировать символы коэффициента преобразования, ссылочную информацию, информацию кодирования и т.п. Устройство 30 компенсации движения может синтаксически анализировать символы, включающие в себя связанную со списками опорных изображений информацию.
Устройство 30 компенсации движения может выполнять обратное квантование и обратное преобразование для коэффициентов преобразования, которые синтаксически анализируются для каждой единицы преобразования, чтобы восстанавливать остатки в пространственной области.
Устройство 30 компенсации движения может восстанавливать изображение пространственной области через компенсацию движения, при которой опорный блок компенсируется посредством остатков для каждого сегмента. Для компенсации движения текущего сегмента, который представляет собой B-слайс, устройство 30 компенсации движения может обращаться к первому восстановленному изображению, включенному, по меньшей мере, в один из L0-списка и L1-списка, чтобы определять опорное изображение, и определять опорный блок, указываемый посредством вектора движения, из опорного изображения. Посредством суммирования остатков с определенным опорным блоком может формироваться восстановленный блок.
Устройство 30 компенсации движения может выполнять фильтрацию для удаления блочности и операцию адаптивного к выборке смещения (SAO) относительно восстановленного блока пространственной области, чтобы за счет этого уменьшать ошибку между восстановленным блоком и исходным блоком. Восстановленный блок может использоваться в качестве опорного блока для прогнозирования следующего блока.
Соответственно, декодирование со сжатием видео может выполняться после того, как выполняется компенсация движения устройства 30 компенсации движения.
Чтобы выводить результат декодирования видео, устройство 30 компенсации движения может работать в связи с внутренне смонтированным процессором декодирования видео или внешним процессором декодирования видео, чтобы за счет этого выполнять операцию декодирования видео, включающую в себя компенсацию движения. Внутренний процессор декодирования видео устройства 30 компенсации движения может быть реализован посредством дополнительного процессора, и согласно одному или более вариантов осуществления, центральный процессор или графическое вычислительное устройство может активировать процессор декодирования видео, чтобы за счет этого выполнять базовую операцию декодирования видео.
В дальнейшем в этом документе, подробно описывается синтаксис связанной с внешним прогнозированием информации, которая передается посредством устройства 20 прогнозирования движения и синтаксически анализируется посредством устройства 30 компенсации движения, со ссылкой на фиг. 4.
Фиг. 4 иллюстрирует два примерных варианта осуществления информации индекса внешнего прогнозирования.
Когда текущее изображение представляет собой тип B-слайса, информация inter_pred_idc 45 индекса внешнего прогнозирования может указывать то, представляет собой список опорных изображений блока в типе B-слайса L0-список, L1-список или список бипрогнозирования.
nPbW и nPbH представляют размеры по горизонтали и вертикали текущей единицы прогнозирования, соответственно. Соответственно, когда сумма размеров по горизонтали и вертикали (nPbW+nPbH) единицы прогнозирования равна 12, как и в случае размеров единиц прогнозирования 4x8 или 8x4, внешнее прогнозирование из списка бипрогнозирования может не разрешаться для единицы прогнозирования типа B-слайса. Соответственно, когда сумма размеров по горизонтали и вертикали равна 12, информация 45 индекса внешнего прогнозирования, указывающая одно из L0-прогнозирования Pred_L0 и L1-прогнозирования Pred_L1, может определяться относительно единицы прогнозирования типа B-слайса.
Когда сумма размеров по горизонтали и вертикали единицы прогнозирования не равна 12, может определяться информация 45 индекса внешнего прогнозирования, указывающая одно из L0-прогнозирования Pred_L0, L1-прогнозирования Pred_L1 и бипрогнозирования Pred_BI.
Соответственно, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, не равна 12, устройство 20 прогнозирования движения может включать информацию 45 индекса внешнего прогнозирования, указывающую одно из L0-прогнозирования Pred_L0, L1-прогнозирования Pred_L1 и бипрогнозирования Pred_BI, в поле единиц прогнозирования потока битов. Тем не менее, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, равна 12, устройство 20 прогнозирования движения может кодировать информацию 45 индекса внешнего прогнозирования, указывающую одно из L0-прогнозирования Pred_L0 и L1-прогнозирования Pred_L1 в поле единиц прогнозирования потока битов.
Например, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, не равна 12, устройство 20 прогнозирования движения может выводить, в качестве информации 45 индекса внешнего прогнозирования, "00", указывающее L0-прогнозирование Pred_L0, "01", указывающее L1-прогнозирование Pred_L1, или "1", указывающее бипрогнозирование Pred_BI. Тем не менее, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, равна 12, устройство 20 прогнозирования движения может выводить, в качестве информации 45 индекса внешнего прогнозирования, "0", указывающее L0-прогнозирование Pred_L0, или "1", указывающее бипрогнозирование Pred_LI.
Когда информация 45 индекса внешнего прогнозирования согласно другому варианту осуществления настоящего раскрытия сущности синтаксически анализируется из поля единиц прогнозирования потока битов, и сумма размеров по горизонтали и вертикали текущей единицы прогнозирования не равна 12, устройство 30 компенсации движения может считывать одно из L0-прогнозирования Pred_L0, L1-прогнозирования Pred_L1 и бипрогнозирования Pred_BI из информации 45 индекса внешнего прогнозирования. Тем не менее, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования равна 12, одно из L0-прогнозирования Pred_L0 и L1-прогнозирования Pred_L1 может считываться из информации 45 индекса внешнего прогнозирования.
Например, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, не равна 12, устройство 30 компенсации движения может определять режим внешнего прогнозирования в качестве L0-прогнозирования (Pred_L0), когда информация 45 индекса внешнего прогнозирования равна "00", в качестве L1-прогнозирования Pred_L1, когда информация 45 индекса внешнего прогнозирования равна "01", и в качестве бипрогнозирования Pred_B1, когда информация 45 индекса внешнего прогнозирования равна "1". Когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования равна 12, устройство 30 компенсации движения может определять режим внешнего прогнозирования в качестве L0-прогнозирования Pred_L0, когда информация 45 индекса внешнего прогнозирования равна "0", и в качестве L1-прогнозирования Pred_L1, когда информация 45 индекса внешнего прогнозирования равна "1".
Кроме того на основе информации ограничения бипрогнозирования, когда сумма размеров по горизонтали и вертикали текущей единицы прогнозирования, которая представляет собой тип B-слайса, равна 12, устройство 30 компенсации движения может определять то, является внешнее прогнозирование с использованием списка бипрогнозирования ограниченным или нет. То, следует синтаксически анализировать 2-битовую информацию индекса внешнего прогнозирования или 1-битовую информацию индекса внешнего прогнозирования для единицы прогнозирования, может определяться на основе информации ограничения бипрогнозирования. Когда внешнее прогнозирование с использованием списка бипрогнозирования является ограниченным относительно единицы прогнозирования, для которой сумма размеров по горизонтали и вертикали этого равна 12, 1 бит синтаксически анализируется в качестве информации индекса внешнего прогнозирования для текущей единицы прогнозирования, но когда внешнее прогнозирование с использованием списка бипрогнозирования не является ограниченным, 2 бита могут быть синтаксически проанализированы.
Соответственно, устройство 20 прогнозирования движения может пропускать кодирование символов, которое указывает то, что список опорных изображений для двунаправленного внешнего прогнозирования представляет собой список бипрогнозирования, когда размер единицы прогнозирования составляет 4x8 или 8x4. Поскольку пропускается операция передачи информации, связанной с необязательным списком опорных изображений, может уменьшаться число передаваемых битов. Аналогично, устройство 30 компенсации движения пропускает операцию проверки того, представляет собой список опорных изображений для двунаправленного внешнего прогнозирования или нет список бипрогнозирования, когда размер единицы прогнозирования составляет 4x8 или 8x4, и за счет этого также может сокращаться операция синтаксического анализа данных.
Как описано выше, прогнозирование движения и компенсация движения выполняется для каждого сегмента, определенного в единице кодирования, имеющей древовидную структуру, в устройстве 10 определения опорных изображений, устройстве 20 прогнозирования движения и устройстве 30 компенсации движения согласно различным вариантам осуществления, описанным выше со ссылкой на фиг. 1A-4. В дальнейшем в этом документе, описываются способ кодирования видео и способ декодирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления, со ссылкой на фиг. 5-17.
Фиг. 5 является блок-схемой, иллюстрирующей устройство 100 кодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления.
Устройство 100 кодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления, включает в себя модуль 110 разбиения на максимальные единицы кодирования, модуль 120 определения единиц кодирования и модуль 130 вывода. Здесь, для удобства описания, устройство 100 кодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, упоминается как устройство 100 кодирования видео.
Модуль 120 определения единиц кодирования может разбивать текущее изображение на основе максимальной единицы кодирования для текущей картины изображения. Если текущее изображение превышает максимальную единицу кодирования, данные изображений для текущего изображения могут разбиваться, по меньшей мере, на одну максимальную единицу кодирования. Максимальная единица кодирования согласно одному или более вариантов осуществления может представлять собой единицу данных, имеющей размер 32x32, 64x64, 128x128, 256x256 и т.д., при этом форма единицы данных представляет собой квадрат, имеющий ширину и длину в квадратах 2.
Единица кодирования согласно одному или более вариантов осуществления может отличаться посредством максимального размера и глубины. Глубина обозначает число раз, которое единица кодирования пространственно разбивается от максимальной единицы кодирования, и по мере того, как увеличивается глубина, более глубокие единицы кодирования согласно глубинам могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, снижается по мере того, как увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображений для текущего изображения разбиваются на максимальные единицы кодирования согласно максимальному размеру единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиваются согласно глубинам. Поскольку максимальная единица кодирования согласно одному или более вариантов осуществления разбивается согласно глубинам, данные изображений пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы согласно глубинам.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, которое иерархически разбиваются высота и ширина максимальной единицы кодирования, могут быть предварительно определены.
Модуль 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-17.
Модуль 120 определения единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования оптимизации искажения в зависимости от скорости передачи на основе множителей Лагранжа.
Модуль 130 вывода выводит данные изображений максимальной единицы кодирования, которая кодируется на основе, по меньшей мере, одной кодированной глубины, определенной посредством модуля 120 определения единиц кодирования, и информации относительно режима кодирования согласно кодированной глубине в потоках битов.
Кодированные данные изображений могут быть получены посредством кодирования остаточных данных изображения.
Информация относительно режима кодирования согласно кодированной глубине может включать в себя информацию относительно кодированной глубины, относительно типа сегмента в единице прогнозирования, режима прогнозирования и размера единицы преобразования.
Информация относительно кодированной глубины может быть задана посредством использования информации разбиения согласно глубинам, которая указывает то, выполняется или нет кодирование для единиц кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, данные изображений в текущей единице кодирования кодируются и выводятся, и в силу этого информация разбиения может быть задана таким образом, чтобы не разбивать текущую единицу кодирования до нижней глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется для единицы кодирования нижней глубины, и в силу этого информация разбиения может быть задана таким образом, чтобы разбивать текущую единицу кодирования для того, чтобы получать единицы кодирования нижней глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется для единицы кодирования, которая разбивается на единицу кодирования нижней глубины. Поскольку, по меньшей мере, одна единица кодирования нижней глубины присутствует в одной единице кодирования текущей глубины, кодирование многократно выполняется для каждой единицы кодирования нижней глубины, и за счет этого кодирование может быть рекурсивно выполнено для единиц кодирования, имеющих идентичную глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация, по меньшей мере, относительно одного режима кодирования определяется для единицы кодирования кодированной глубины, информация, по меньшей мере, относительно одного режима кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодированная глубина единиц кодирования максимальной единицы кодирования может отличаться согласно местоположениям единиц кодирования, поскольку единицы кодирования в максимальной единице кодирования иерархически разбиваются согласно глубинам, и в силу этого информация относительно кодированной глубины и режима кодирования может задаваться для единиц кодирования.
Соответственно, модуль 130 вывода может назначать информацию кодирования относительно соответствующей кодированной глубины и режима кодирования, по меньшей мере, одной из единицы кодирования, единицы прогнозирования и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица согласно одному или более вариантов осуществления представляет собой прямоугольную единицу данных, полученную посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю глубину, на 4. Альтернативно, минимальная единица может представлять собой максимальную прямоугольную единицу данных, которая может быть включена во все из единиц кодирования, единиц прогнозирования, единиц сегментирования и единиц преобразования, включенных в максимальную единицу кодирования.
Например, информация кодирования, выводимая через модуль 130 вывода, может классифицироваться на информацию кодирования согласно единицам кодирования согласно кодированным глубинам и информацию кодирования согласно единицам прогнозирования. Информация кодирования согласно единицам кодирования согласно кодированным глубинам может включать в себя информацию относительно режима прогнозирования и относительно размера сегментов. Информация кодирования, передаваемая согласно единицам прогнозирования, может включать в себя информацию относительно оцененного направления внешнего режима, относительно индекса опорного изображения внешнего режима, относительно вектора движения, относительно компонента сигнала цветности внутреннего режима и относительно способа интерполяции внутреннего режима.
Кроме того, информация относительно максимального размера единицы кодирования, заданного согласно изображениям, слайсам или GOP, и информация относительно максимальной глубины могут вставляться в заголовок потока битов, набор параметров последовательности (SPS) или набор параметров изображения (PPS).
Кроме того, информация относительно максимального размера единицы преобразования, который разрешен относительно текущего видео, и информация относительно минимального размера единицы преобразования может выводиться через заголовок потока битов, SPS или PPS. Модуль 130 вывода может кодировать ссылочную информацию, связанную с прогнозированием, информацию прогнозирования, информацию типов слайсов и т.п., и выводить ее.
В устройстве 100 кодирования видео согласно варианту осуществления, более глубокая единица кодирования может представлять собой единицу кодирования, полученную посредством деления высоты или ширины единицы кодирования верхней глубины, которая на один слой выше, на два. Другими словами, когда размер единицы кодирования текущей глубины равен 2Nx2N, размер единицы кодирования нижней глубины равен NxN. Кроме того, единица кодирования текущей глубины, имеющей размер 2Nx2N, может включать в себя максимум 4 единицы кодирования нижней глубины.
Соответственно, устройство 100 кодирования видео может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенных с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может выполняться для каждой максимальной единицы кодирования посредством использования любого из различных режимов прогнозирования и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображений.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, число макроблоков в расчете на изображение чрезмерно увеличивается. Соответственно, увеличивается число фрагментов сжатой информации, сформированной для каждого макроблока, и в силу этого трудно передавать сжатую информацию, и снижается эффективность сжатия данных. Тем не менее, посредством использования устройства 100 кодирования видео, может повышаться эффективность сжатия изображений, поскольку единица кодирования регулируется с учетом характеристик изображения при увеличении максимального размера единицы кодирования с учетом размера изображения.
Устройство 100 кодирования видео может определять список опорных изображений, чтобы выполнять внешнее прогнозирование согласно способу прогнозирования движения, описанному выше со ссылкой на фиг. 2A и 2B.
Модуль 120 определения единиц кодирования может определять единицу прогнозирования для внешнего прогнозирования для каждой единицы кодирования, имеющей древовидную структуру, для каждой максимальной единицы кодирования, и может выполнять внешнее прогнозирование для каждой единицы прогнозирования и ее сегмента.
Модуль 120 определения единиц кодирования определяет опорное изображение, используемое для временного прогнозирования относительно изображений видео. Устройство 10 определения опорных изображений определяет информацию прогнозирования, указывающую временное расстояние между текущим изображением и соседним изображением, остатки и т.п. Соответственно, информация изображений может записываться посредством использования информации прогнозирования вместо всех данных изображений.
Модуль 120 определения единиц кодирования может определять размер единиц прогнозирования, включенных в единицу кодирования, а также то, следует выполнять внутреннее прогнозирование или внешнее прогнозирование относительно текущей единицы прогнозирования. Когда текущий слайс представляет собой B-слайс, может определяться опорный список, который должен использоваться для внешнего прогнозирования для текущей единицы прогнозирования. Иными словами, может определяться индекс внешнего прогнозирования, указывающий то, представляет собой опорный список L0-списк, L1-список или список бипрогнозирования.
Когда размер текущей единицы прогнозирования согласно одному или более вариантов осуществления составляет 4x8 или 8x4, индекс внешнего прогнозирования может указывать список опорных изображений одного из L0-списка и L1-списка. Когда размер текущей единицы прогнозирования согласно одному или более вариантов осуществления не составляет 4x8 или 8x4, индекс внешнего прогнозирования может указывать список опорных изображений одного из L0-списка, L1-списка и списка бипрогнозирования.
Модуль 130 вывода может включать, в заголовок слайса, информацию ограничения бипрогнозирования, указывающую то, разрешается или нет внешнее прогнозирование, при котором используется список бипрогнозирования, включающий в себя L0-список и L1-список, для текущей единицы прогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4 в текущем слайсе.
Модуль 130 вывода может кодировать и выводить информацию индекса внешнего прогнозирования, определенную согласно размеру текущей единицы прогнозирования, с информацией опорного индекса и информацией разности векторов движения.
Когда размер текущей единицы прогнозирования согласно одному или более вариантов осуществления составляет 4x8 или 8x4, может пропускаться операция преобразования в двоичную форму относительно информации, указывающей то, что список опорных изображений представляет собой список бипрогнозирования.
Модуль 120 определения единиц кодирования может определять информацию прогнозирования, указывающую опорный индекс, вместе с временным расстоянием между текущим изображением и периферийным изображением, остатки и т.п.
Фиг. 6 является блок-схемой, иллюстрирующей устройство 200 декодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления.
Устройство 200 декодирования видео включает в себя приемное устройство 210, модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений. В дальнейшем в этом документе, для удобства описания, устройство 200 декодирования видео с применением прогнозирования видео на основе единицы кодирования, имеющей древовидную структуру, согласно одному или более вариантов осуществления, упоминается как "устройство 200 декодирования видео".
Определения различных терминов, таких как единица кодирования, глубина, единица прогнозирования, единица преобразования и информация относительно различных режимов кодирования, для различных операций устройства 200 декодирования видео являются идентичными определениям, описанным со ссылкой на фиг. 5 и на устройство 100 кодирования видео.
Приемное устройство 210 принимает и синтаксически анализирует поток битов кодированного видео. Модуль 220 извлечения данных изображений и информации кодирования извлекает кодированные данные изображений для каждой единицы кодирования из синтаксически проанализированного потока битов, при этом единицы кодирования имеют древовидную структуру согласно каждой максимальной единице кодирования, и выводит извлеченные данные изображений в декодер 230 данных изображений. Модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно максимального размера единицы кодирования текущего изображения из заголовка относительно текущего изображения, SPS или PPS.
Кроме того, модуль 220 извлечения данных изображений и информации кодирования извлекает информацию относительно кодированной глубины и режима кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой максимальной единице кодирования из синтаксически проанализированного потока битов. Извлеченная информация относительно кодированной глубины и режима кодирования выводится в декодер 230 данных изображений. Другими словами, данные изображений в потоке битов разбиваются на максимальные единицы кодирования так, что декодер 230 данных изображений декодирует данные изображений для каждой максимальной единицы кодирования.
Информация относительно кодированной глубины и режима кодирования согласно максимальной единице кодирования может задаваться для информации относительно, по меньшей мере, одной единицы кодирования, соответствующей кодированной глубине, и информация относительно режима кодирования может включать в себя информацию относительно типа сегмента соответствующей единицы кодирования, соответствующей кодированной глубине, относительно режима прогнозирования и размера единицы преобразования. Кроме того, информация разбиения согласно глубинам может быть извлечена в качестве информации относительно кодированной глубины.
Информация относительно кодированной глубины и режима кодирования согласно каждой максимальной единице кодирования, извлеченной посредством модуля 220 извлечения данных изображений и информации кодирования, является информацией относительно определенной кодированной глубины и режима кодирования для того, чтобы формировать минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждой более глубокой единицы кодирования согласно глубинам согласно каждой максимальной единице кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображений согласно кодированной глубине и режиму кодирования, который формирует минимальную ошибку кодирования.
Поскольку информация кодирования относительно кодированной глубины и режима кодирования может назначаться предварительно определенной единице данных из соответствующей единицы кодирования, единицы прогнозирования и минимальной единицы, модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно кодированной глубины и режима кодирования согласно предварительно определенным единицам данных. Предварительно определенные единицы данных, которым назначается идентичная информация относительно кодированной глубины и режима кодирования, могут логически выводиться как единицы данных, включенные в идентичную максимальную единицу кодирования.
Декодер 230 данных изображений восстанавливает текущее изображение посредством декодирования данных изображений в каждой максимальной единице кодирования на основе информации относительно кодированной глубины и режима кодирования согласно максимальным единицам кодирования. Другими словами, декодер 230 данных изображений может декодировать кодированные данные изображений на основе извлеченной информации относительно типа сегмента, режима прогнозирования и единицы преобразования для каждой единицы кодирования из единиц кодирования, имеющих в себя древовидную структуру, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя прогнозирование, включающее в себя внутреннее прогнозирование и компенсацию движения, а также обратное преобразование.
Декодер 230 данных изображений может выполнять внутреннее прогнозирование или компенсацию движения согласно сегменту и режиму прогнозирования каждой единицы кодирования на основе информации относительно типа сегмента и режима прогнозирования для единицы прогнозирования единицы кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображений может выполнять обратное преобразование согласно каждой единице преобразования в единице кодирования на основе информации относительно размера единицы преобразования единицы кодирования согласно кодированным глубинам, с тем чтобы выполнять обратное преобразование согласно максимальным единицам кодирования. Пиксельное значение пространственной области единицы кодирования может быть восстановлено посредством обратного преобразования.
Декодер 230 данных изображений может определять, по меньшей мере, одну кодированную глубину текущей максимальной единицы кодирования посредством использования информации разбиения согласно глубинам. Если информация разбиения указывает то, что данные изображений более не разбиваются при текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображений может декодировать кодированные данные изображений в текущей максимальной единице кодирования посредством использования информации относительно типа сегмента единицы прогнозирования, режима прогнозирования и размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя идентичную информацию разбиения, могут собираться посредством наблюдения набора информации кодирования, назначаемого для предварительно определенной единицы данных из числа единицы кодирования, единицы прогнозирования и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, которая должна быть декодирована посредством декодера 230 данных изображений в одном режиме кодирования. Информация относительно режима кодирования получена для каждой единицы кодирования, определенной вышеописанным способом, чтобы за счет этого выполнять декодирование текущей единицы кодирования.
Кроме того, устройство 200 декодирования видео может выполнять компенсацию движения посредством определения опорного индекса из списка опорных изображений согласно способу компенсации движения, описанному выше со ссылкой на фиг. 3A и 3B.
Когда текущий слайс представляет собой B-слайс, модуль 220 извлечения данных изображений и информации кодирования может синтаксически анализировать, из потока битов, информацию индекса внешнего прогнозирования, указывающую список опорных изображений блока, опорный индекс, вектор движения и т.п. Тип опорного списка, который должен быть использован посредством текущей единицы прогнозирования для компенсации движения, может определяться на основе информации индекса внешнего прогнозирования.
Декодер 230 данных изображений определяет единицу прогнозирования для компенсации движения для каждой единицы кодирования, имеющей древовидную структуру, для каждой максимальной единицы кодирования, и может выполнять компенсацию движения для каждой единицы прогнозирования и ее сегмента.
Декодер 230 данных изображений может определять размеры единиц прогнозирования при определении единиц прогнозирования, включенных в единицу кодирования. Информация индекса внешнего прогнозирования может по-разному считываться на основе размеров единиц прогнозирования.
Когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, декодер 230 данных изображений может определять список опорных изображений текущей единицы прогнозирования в качестве одного из L0-списка и L1-списка на основе информации индекса внешнего прогнозирования. Список опорных изображений, за исключением списка бипрогнозирования, может считываться из информации индекса внешнего прогнозирования.
Если размер текущей единицы прогнозирования не составляет 4x8 или 8x4, декодер 230 данных изображений может определять то, что список опорных изображений текущей единицы прогнозирования представляет собой один из L0-списка, L1-списка и списка бипрогнозирования на основе информации индекса внешнего прогнозирования.
Модуль 220 извлечения данных изображений и информации кодирования может синтаксически анализировать, из заголовка слайса, информацию ограничения бипрогнозирования, указывающую то, разрешается или нет внешнее прогнозирование, при котором список бипрогнозирования используется для текущей единицы прогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4. Соответственно, на основе информации ограничения бипрогнозирования, в текущем слайсе может определяться то, разрешается или нет внешнее прогнозирование, при котором список бипрогнозирования используется для текущей единицы прогнозирования, относительно единицы прогнозирования размера 4x8 или 8x4. Кроме того, модуль 220 извлечения может определять то, следует синтаксически анализировать 2-битовую информацию индекса внешнего прогнозирования или 1-битовую информацию индекса внешнего прогнозирования для единицы прогнозирования, на основе синтаксически проанализированной информации ограничения бипрогнозирования.
Кроме того, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 220 извлечения может пропускать операцию считывания информации, которая указывает то, что список опорных изображений представляет собой список бипрогнозирования, из битовой строки преобразования в двоичную форму, которая синтаксически анализируется из потока битов.
Когда размер текущей единицы прогнозирования составляет 4x8 или 8x4, модуль 220 извлечения может считывать список опорных изображений, за исключением списка бипрогнозирования, из информации индекса внешнего прогнозирования. Кроме того, модуль 220 извлечения также может пропускать операцию проверки того, представляет собой или нет информация индекса внешнего прогнозирования список бипрогнозирования, когда размер текущей единицы прогнозирования составляет 4x8 или 8x4.
Декодер 230 данных изображений может определять опорное изображение, указываемое посредством опорного индекса, из числа опорных изображений, принадлежащих списку опорных изображений, и определять опорный блок, указываемый посредством вектора движения в опорном изображении. Декодер 230 данных изображений может восстанавливать текущий блок посредством компенсации опорного блока остаток.
Фиг. 7 является схемой для описания принципа единиц кодирования согласно одному или более вариантов осуществления.
Размер единицы кодирования может выражаться как "ширина 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.
Сегмент для внешнего прогнозирования согласно одному или более вариантов осуществления может не включать в себя сегмент размера 4x4.
В видеоданных 310, разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320, разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330, разрешение составляет 352x288, максимальный размер единицы кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 7, обозначает общее число разбиений от максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение является высоким, или объем данных является большим, максимальный размер единицы кодирования может быть большим, с тем чтобы не только повышать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 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 уровня посредством разбиения максимальной единицы кодирования три раза. По мере того, как увеличивается глубина, может точно выражаться подробная информация.
Фиг. 8 является блок-схемой кодера 400 изображений на основе единиц кодирования согласно одному или более вариантов осуществления.
Кодер 400 изображений выполняет операции модуля 120 определения единиц кодирования устройства 100 кодирования видео, чтобы кодировать данные изображений. Другими словами, модуль 410 внутреннего прогнозирования выполняет внутреннее прогнозирование для единиц кодирования во внутреннем режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют внешнюю оценку и компенсацию движения для единиц кодирования во внешнем режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из модуля 410 внутреннего прогнозирования, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через модуль 480 удаления блочности и модуль 490 SAO-управления. Квантованный коэффициент преобразования может выводиться в качестве потока 455 битов через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео, все элементы кодера 400 изображений, т.е. модуль 410 внутреннего прогнозирования, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, модуль 480 удаления блочности и модуль 490 SAO-управления, выполняют операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, модуль 410 внутреннего прогнозирования, модуль 420 оценки движения и модуль 425 компенсации движения определяют сегменты и режим прогнозирования каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, и преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
Модуль 420 оценки движения и модуль 425 компенсации движения могут определять опорный индекс на основе способа внешнего прогнозирования, описанного выше со ссылкой на фиг. 1A-3B, и могут выполнять внешнее прогнозирование посредством использования опорного изображения из списка опорных изображений, соответствующего опорному индексу.
Фиг. 9 является блок-схемой декодера 500 изображений на основе единицы кодирования, согласно одному или более вариантов осуществления.
Синтаксический анализатор 510 синтаксически анализирует кодированные данные изображений, которые должны быть декодированы, и информацию относительно кодирования, требуемую для декодирования, из потока 505 битов. Кодированные данные изображений выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображений в пространственной области через обратный преобразователь 540.
Модуль 550 внутреннего прогнозирования выполняет внутреннее прогнозирование для единиц кодирования во внутреннем режиме относительно данных изображений в пространственной области, и модуль 560 компенсации движения выполняет компенсацию движения для единиц кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображений в пространственной области, которые пропущены через модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения, могут выводиться в качестве восстановленного кадра 595 после постобработки через модуль 570 удаления блочности и модуль 580 SAO-управления. Кроме того, данные изображений, которые постобрабатываются через модуль 570 удаления блочности и модуль 580 SAO-управления, могут выводиться в качестве опорного кадра 585.
Чтобы декодировать данные изображений в декодере 230 данных изображений устройства 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после синтаксического анализатора 510.
Для применения декодера 500 изображений в устройстве 200 декодирования видео, все элементы декодера 500 изображений, т.е. синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего прогнозирования, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 SAO-управления выполняют операции на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования.
В частности, модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения определяют сегменты и режим прогнозирования для каждой из единиц кодирования, имеющих древовидную структуру, и обратный преобразователь 540 определяет размер единицы преобразования для каждой единицы кодирования.
Модуль 560 компенсации движения может определять опорный индекс на основе способа внешнего прогнозирования, описанного выше со ссылкой на фиг. 1A и 3B, и может выполнять компенсацию движения посредством использования опорного изображения из списка опорных изображений, соответствующего опорному индексу.
Фиг. 10 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегментам, согласно одному или более вариантов осуществления.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-другому заданы пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут быть определены согласно предварительно определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования, согласно одному или более вариантов осуществления, максимальная высота и максимальная ширина единиц кодирования равны 64, а максимальная глубина равна 3. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубокой единицы кодирования разбиваются. Кроме того, единица прогнозирования и сегменты, которые являются базисами для прогнозирующего кодирования каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования представляет собой максимальную единицу кодирования в иерархической структуре 600, в которой глубина равна 0, а размер, т.е. высота на ширину, равен 64x64. Глубина увеличивается вдоль вертикальной оси, и предусмотрены единица 620 кодирования, имеющая размер 32x32 и глубину 1, единица 630 кодирования, имеющая размер 16x16 и глубину 2, и единица 640 кодирования, имеющая размер 8x8 и глубину 3. Единица 640 кодирования, имеющая размер 8x8 и глубину 3, представляет собой минимальную единицу кодирования.
Единица прогнозирования и сегменты единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 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.
Сегмент для внешнего прогнозирования согласно одному или более вариантов осуществления может не включать в себя сегменты 646, имеющие размер 4x4.
Чтобы определять, по меньшей мере, одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, модуль 120 определения единиц кодирования устройства 100 кодирования видео выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Число более глубоких единиц кодирования согласно глубинам, включающим в себя данные в идентичном диапазоне и идентичного размера, увеличивается по мере того, как увеличивается глубина. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для того, чтобы охватывать данные, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнивать результаты кодирования идентичных данных согласно глубинам, кодируются единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнять кодирование для текущей глубины из глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждой единицы прогнозирования в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, поиск минимальной ошибки кодирования может выполняться посредством сравнения наименьших ошибок кодирования согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того, как глубина увеличивается вдоль вертикальной оси иерархической структуры 600. Глубина и сегмент, имеющие минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодированной глубины и типа сегмента единицы 610 кодирования.
Фиг. 11 является схемой для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования, согласно одному или более вариантов осуществления.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования в ходе кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 кодирования видео или устройстве 200 декодирования видео, если размер единицы 710 кодирования составляет 64x64, преобразование может выполняться посредством использования единицы 720 преобразования, имеющей размер 32x32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64x64, могут быть кодированы посредством выполнения преобразования для каждой из единиц преобразования, имеющих размер 32x32, 16x16, 8x8 и 4x4, которые меньше 64x64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 12 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно одному или более вариантов осуществления.
Модуль 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 для декодирования согласно каждой более глубокой единице кодирования.
Фиг. 13 является схемой более глубоких единиц кодирования согласно глубинам, согласно одному или более вариантов осуществления.
Информация разбиения может быть использована для того, чтобы указывать изменение глубины. Информация разбиения указывает то, разбивается или нет единица кодирования текущей глубины на единицы кодирования нижней глубины.
Единица 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-1, единица кодирования CU_(d-1), имеющая глубину d-1, более не разбивается до нижней глубины, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, и тип сегмента текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)xN_(d-1). Кроме того, поскольку максимальная глубина составляет d, информация разбиения для единицы кодирования 952 не задается.
Единица 999 данных может представлять собой "минимальную единицу" для текущей максимальной единицы кодирования. Минимальная единица согласно одному или более вариантов осуществления может представлять собой прямоугольную единицу данных, полученную посредством разбиения минимальной единицы 980 кодирования на 4. Посредством многократного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования, чтобы определять кодированную глубину и задавать соответствующий тип сегмента и режим прогнозирования в качестве режима кодирования кодированной глубины.
Также, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах 1-d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип сегмента единицы прогнозирования и режим прогнозирования могут быть кодированы и переданы в качестве информации относительно режима кодирования. Кроме того, поскольку единица кодирования разбивается от глубины в 0 до кодированной глубины, только информация разбиения кодированной глубины задается равной 0, а информация разбиения глубин за исключением кодированной глубины задается равной 1.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию относительно кодированной глубины и единицы прогнозирования единицы 900 кодирования для того, чтобы декодировать сегмент 912. Устройство 200 декодирования видео может определять глубину, при которой информация разбиения равна 0, в качестве кодированной глубины посредством использования информации разбиения согласно глубинам и использовать информацию относительно режима кодирования соответствующей глубины для декодирования.
Фиг. 14-16 являются схемами для описания взаимосвязи между единицами 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 кодирования получаются посредством разбиения единиц кодирования в единицах 1010 кодирования. Другими словами, типы сегментов в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2NxN, типы сегментов в единицах 1016, 1048 и 1052 кодирования имеют размер Nx2N, и тип сегмента единицы 1032 кодирования имеет размер NxN. Единицы прогнозирования и сегменты единиц 1010 кодирования меньше или равны каждой единице кодирования.
Преобразование или обратное преобразование выполняется для данных изображений единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования в единицах 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.
Информация кодирования относительно единиц кодирования, имеющих древовидную структуру, может включать в себя, по меньшей мере, одну из единицы кодирования, соответствующей кодированной глубине, единицы прогнозирования и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя, по меньшей мере, одну из единицы прогнозирования и минимальной единицы, содержащей идентичную информацию кодирования.
Соответственно, определяется то, включаются или нет смежные единицы данных в идентичную единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации кодирования единицы данных, и за счет этого может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, можно обращаться непосредственно к информации кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и она может использоваться.
Альтернативно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, единицы данных, смежные с текущей единицей кодирования, ищутся с использованием кодированной информации единиц данных, и к искомым смежным единицам кодирования можно обращаться для прогнозирования текущей единицы кодирования.
Фиг. 17 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 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.
Ссылаясь на фиг. 17, флаг TU-размера является флагом, имеющим значение в 0 или 1, но флаг TU-размера не ограничивается 1 битом, и единица преобразования может иерархически разбиваться при наличии древовидной структуры, в то время как флаг TU-размера увеличивается от 0. Флаг TU-размера может быть использован в качестве примерного варианта осуществления индекса преобразования.
В этом случае, размер единицы преобразования, которая фактически использована, может выражаться посредством использования флага TU-размера единицы преобразования, согласно одному или более вариантов осуществления, вместе с максимальным размером и минимальным размером единицы преобразования. Согласно одному или более вариантов осуществления, устройство 100 кодирования видео допускает кодирование информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера. Результат кодирования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера может быть вставлен в SPS. Согласно одному или более вариантов осуществления, устройство 200 декодирования видео может декодировать видео посредством использования информации размера максимальных единиц преобразования, информации размера минимальных единиц преобразования и флага максимального TU-размера.
Например, (a) если размер текущей единицы кодирования равен 64x64, и размер максимальной единицы преобразования равен 32x32, (a-1) то размер единицы преобразования может составлять 32x32, когда флаг TU-размера равен 0, (a-2) может составлять 16x16, когда флаг TU-размера равен 1, и (a-3) может составлять 8x8, когда флаг TU-размера равен 2.
В качестве другого примера, (b) если размер текущей единицы кодирования равен 32x32, и размер минимальной единицы преобразования равен 32x32, (b-1) то размер единицы преобразования может составлять 32x32, когда флаг TU-размера равен 0. Здесь, флаг TU-размера не может задаваться равным значению, отличному от 0, поскольку размер единицы преобразования не может составлять меньше 32x32.
В качестве другого примера, (c) если размер текущей единицы кодирования равен 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, который варьируется согласно типу режима прогнозирования в единице сегментирования, является просто примером, и настоящее раскрытие сущности не ограничено этим.
Согласно способу кодирования видео на основе единиц кодирования, описывающих древовидную структуру выше со ссылкой на фиг. 5-17, данные изображений пространственной области кодируются для каждой единицы кодирования, имеющей древовидную структуру, и по мере того, как выполняется декодирование для каждой максимальной единицы кодирования согласно способу декодирования видео на основе единиц кодирования, имеющих древовидную структуру, восстанавливаются данные изображений пространственной области. Соответственно, может восстанавливаться изображение или видео, которое представляет собой последовательность изображений. Восстановленное видео может воспроизводиться посредством использования устройства воспроизведения, сохраняться на носителе хранения данных или передаваться через сеть.
Варианты осуществления настоящего раскрытия сущности могут быть записаны в качестве компьютерной программы и могут быть реализованы в цифровых компьютерах общего назначения, которые выполняют программы с использованием считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения данных (например, ROM, гибкие диски, жесткие диски и т.д.) и оптические носители записи (например, CD-ROM или DVD).
Для удобства описания, способ кодирования видео согласно способу внешнего прогнозирования, способу прогнозирования движения и способу компенсации движения, описанный выше со ссылкой на фиг. 1A-17, упоминается как "способ кодирования видео согласно настоящему раскрытию сущности". Кроме того, способ декодирования видео согласно способу внешнего прогнозирования и способу компенсации движения, описанный выше со ссылкой на фиг. 1A-20, упоминается как "способ декодирования видео согласно настоящему раскрытию сущности".
Кроме того, устройство кодирования видео, включающее в себя устройство 10 определения опорных изображений, устройство 20 прогнозирования движения, устройство 30 компенсации движения, устройство 100 кодирования видео или кодер 400 изображений, которое описывается выше со ссылкой на фиг. 1A-17, упоминается как "устройство кодирования видео настоящего раскрытия сущности". Кроме того, устройство декодирования видео, включающее в себя устройство 10 определения опорных изображений, устройство 30 компенсации движения, устройство 200 декодирования видео или декодер 500 изображений, упоминается как "устройство декодирования видео согласно настоящему раскрытию сущности".
В дальнейшем в этом документе, описываются один или несколько вариантов осуществления, в которых диск 26000 включен в качестве считываемого компьютером носителя хранения данных, сохраняющего программу.
Фиг. 18 иллюстрирует физическую структуру диска 26000, на котором сохраняется программа, согласно одному или более вариантов осуществления. Примеры диска 26000, описанного в качестве носителя хранения данных, могут представлять собой жесткий диск, постоянное запоминающее устройство на компакт-дисках (CD-ROM) диск, Blu-Ray-диск или универсальный цифровой диск (DVD). Диск 26000 включает в себя множество концентрических дорожек tr, которые разбиваются на предварительно определенное число секторов Se в направлении вдоль окружности. В предварительно определенной области диска 26000, на котором сохраняются программы согласно вышеописанным вариантам осуществления, могут выделяться и сохраняться программы для осуществления способа внешнего прогнозирования, способа кодирования видео и способа декодирования видео, описанных выше.
Ниже описывается компьютерная система, которая осуществлена посредством использования носителя хранения данных, который сохраняет программу для осуществления способа кодирования видео и способа декодирования видео, описанных выше, со ссылкой на фиг. 19.
Фиг. 19 иллюстрирует накопитель 26800 на дисках для записи и считывания программы посредством использования диска 26000. Компьютерная система 26700 может сохранять программу для осуществления, по меньшей мере, одного из способа кодирования видео и способа декодирования видео n диск 26000. Чтобы выполнять программу, сохраненную на диске 26000 в компьютерной системе 26700, программа может считываться из диска 26000 через накопитель 26800 на дисках и передаваться в компьютерную систему 26700.
Программа для осуществления, по меньшей мере, одного из способа кодирования видео и способа декодирования видео согласно вариантам осуществления настоящего раскрытия сущности, может быть сохранена не только на диске 26000, проиллюстрированном на фиг. 18 или 19, но также и на карте памяти, ROM-кассете или полупроводниковом накопителе (SSD).
Ниже описывается система, к которой применяются способ кодирования видео и способ декодирования видео согласно вариантам осуществления настоящего раскрытия сущности.
Фиг. 20 иллюстрирует общую структуру системы 11000 предоставления контента для предоставления услуг распространения контента, согласно одному или более вариантов осуществления. Зона обслуживания системы связи разделяется на соты, имеющие предварительно определенный размер, и беспроводные базовые станции 11700, 11800, 11900 и 12000 устанавливаются в сотах, соответственно.
Система 11000 предоставления контента включает в себя множество независимых устройств. Например, множество независимых устройств, таких как компьютер 12100, персональное цифровое устройство 12200 (PDA), камера 12300 и мобильный телефон 12500, подключаются к Интернету 11100 через поставщика 11200 Интернет-услуг, сеть 11400 связи, беспроводные базовые станции 11700, 11800, 11900 и 12000.
Тем не менее, система 11000 предоставления контента не ограничивается структурой, проиллюстрированной на фиг. 20, и устройства могут избирательно подключаться к ней. Независимые устройства также могут подключаться к сети 11400 связи непосредственно, а не через беспроводные базовые станции 11700, 11800, 11900 и 12000.
Видеокамера 12300 представляет собой устройство захвата изображений, такое как цифровая видеокамера, которое допускает фотографирование видеоизображения. Мобильный телефон 125000 может использовать, по меньшей мере, один способ связи из ряда различных протоколов, таких как система персональной цифровой связи (PDC), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), глобальная система мобильной связи (GSM) и система персональных мобильных телефонов (PHS).
Видеокамера 12300 может подключаться к серверу 11300 потоковой передачи через беспроводную базовую станцию 11900 и сеть 11400 связи. Сервер 11300 потоковой передачи дает возможность передачи контента, принимаемого от пользователя через видеокамеру 12300, в потоковом режиме через широковещательную передачу в реальном времени. Контент, принимаемый из видеокамеры 12300, может быть кодирован с использованием видеокамеры 12300 или сервера 11300 потоковой передачи. Видеоданные, захваченные посредством использования видеокамеры 12300, могут быть переданы на сервер 11300 потоковой передачи через компьютер 12100.
Видеоданные, захваченные посредством камеры 12600, также могут быть переданы на сервер 11300 потоковой передачи через компьютер 12100. Камера 12600 представляет собой устройство захвата изображений, допускающее захват как неподвижных изображений, так и видеоизображений, аналогично цифровой камере. Видеоданные, захваченные посредством использования камеры 12600, могут быть кодированы с использованием камеры 12600 или компьютера 12100. Программное обеспечение, которое выполняет кодирование и декодирование видео, может быть сохранено на считываемом компьютером носителе записи, например, на CD-ROM-диске, гибком диске, жестком диске, SSD или карте памяти, которая может быть доступной посредством компьютера 12100.
Если видеоданные захватываются посредством использования камеры, встроенной в мобильный телефон 125000, видеоданные могут быть приняты из мобильного телефона 125000.
Видеоданные также могут быть кодированы посредством системы на больших интегральных схемах (LSI), установленной в видеокамере 12300, мобильном телефоне 125000 или камере 12600.
В системе 11000 предоставления контента контент, который получен посредством записи пользователем посредством использования видеокамеры 12300, камеры 12600, мобильного телефона 125000 или другого устройства захвата изображений, к примеру, контент записи концерта, может быть кодирован и передан на сервер 11300 потоковой передачи. Сервер 11300 потоковой передачи может передавать данные контента в качестве потоковой передачи в другие клиенты, которые запрашивают данные контента.
Клиенты представляют собой устройства, которые допускают декодирование кодированных данных контента, и могут представлять собой, например, компьютер 12100, PDA 12200, видеокамеру 12300 или мобильный телефон 125000. Соответственно, система 11000 предоставления контента дает возможность клиентам принимать и воспроизводить кодированные данные контента. Кроме того, система 11000 предоставления контента дает возможность клиентам принимать кодированные данные контента и декодировать их в реальном времени, а также воспроизводить их, в силу этого обеспечивая персональную широковещательную передачу.
Устройство кодирования видео и устройство декодирования видео согласно вариантам осуществления настоящего раскрытия сущности могут применяться в операциях кодирования и декодирования независимых устройств, включенных в систему 11000 предоставления контента.
Ниже подробно описывается мобильный телефон 125000 системы 11000 предоставления контента согласно одному или более вариантов осуществления со ссылкой на фиг. 21 и 22.
Фиг. 21 иллюстрирует внешнюю конструкцию мобильного телефона 125000, к которому применяются способ кодирования видео и способ декодирования видео, согласно вариантам осуществления настоящего раскрытия сущности. Мобильный телефон 125000 может представлять собой смартфон, функции которого не ограничены, и большое число функций которого может модифицироваться или дополняться.
Мобильный телефон 125000 может включать в себя внутреннюю антенну 12510, через которую можно обмениваться RF-сигналом с беспроводной базовой станцией 12000, и включает в себя экран 12520 отображения, такой как жидкокристаллический дисплей (ЖК-дисплей) или экран на органических светоизлучающих диодах (OLED), для отображения изображений, сфотографированных посредством использования камеры 12530, или изображений, которые принимаются через антенну 12510 и декодируются. Мобильный телефон 125000 включает в себя панель 12540 управления, включающую в себя кнопку управления или сенсорную панель. Когда экран 125200 отображения представляет собой сенсорный экран, панель 12540 управления дополнительно включает в себя панель с сенсорным управлением экрана 125200 отображения. Мобильный телефон 125000 включает в себя динамик 12580 для вывода речи или звука либо другой тип модуля звукового вывода и микрофон 12550 для ввода речи или звука либо другой тип модуля звукового ввода. Мобильный телефон 125000 дополнительно включает в себя камеру 12530, к примеру, камеру на основе прибора с зарядовой связью (CCD), для того чтобы захватывать видео или неподвижное изображение. Кроме того, мобильный телефон 125000 может включать в себя носитель 12570 хранения данных для сохранения данных, которые кодированы или декодированы, таких как видео или неподвижное изображение, которое получено посредством фотографирования посредством использования камеры 12530 либо принято через электронную почту, либо получено в другой форме; и гнездо 12560, через которое носитель 12570 хранения данных загружается в мобильный телефон 125000. Носитель 12570 хранения данных может представлять собой флэш-память, к примеру, карту по стандарту Secure Digital (SD) или электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), встроенное в пластиковый корпус.
Фиг. 22 иллюстрирует внутреннюю конструкцию мобильного телефона 125000. Чтобы систематически управлять каждой частью мобильного телефона 125000, включающего в себя экран 125200 отображения и панель 12540 управления, схема 12700 электропитания, модуль 12640 управления функциональным вводом, модуль 12720 кодирования изображений, интерфейс 12630 камеры, модуль 12620 управления ЖК-дисплеем, модуль 12690 декодирования изображений, мультиплексор/демультиплексор 12680, модуль 12670 записи/считывания, модуль 12660 модуляции/демодуляции и звуковой процессор 12650 подключаются к центральному контроллеру 12710 через шину 12730 синхронизации.
Когда пользователь нажимает кнопку включения питания для того, чтобы переключаться из состояния "отключенного питания" в состояние "включенного питания", схема 12700 электропитания может подавать питание в каждую часть мобильного телефона 125000 из аккумуляторного источника питания, чтобы за счет этого переводить мобильный телефон 125000 в рабочий режим.
Центральный контроллер 12710 включает в себя центральный процессор (CPU), постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM).
В то время, когда мобильный телефон 125000 передает передаваемые данные наружу, цифровой сигнал формируется в мобильном телефоне 125000 согласно управлению центрального контроллера 12710. Например, цифровой звуковой сигнал может формироваться в звуковом процессоре 126500, и сигнал цифрового изображения может формироваться в модуле 12720 кодирования изображений, и текстовые данные сообщения могут формироваться через панель 12540 управления и модуль 12640 управления функциональным вводом. По мере того, как цифровой сигнал передается в модуль 12660 модуляции/демодуляции согласно управлению центрального контроллера 12710, модуль 12660 модуляции/демодуляции может модулировать полосу частот цифрового сигнала, и схема 12610 связи выполняет цифро-аналоговое преобразование и преобразование частоты для модулированного по полосе частот цифрового звукового сигнала. Передаваемый сигнал, выводимый из схемы 12610 связи, может быть передан в базовую станцию для речевой связи или в беспроводную базовую станцию 12000 через антенну 12510.
Например, звуковой сигнал, который получается посредством использования микрофона 12550 в то время, когда мобильный телефон 125000 находится в режиме разговора, преобразуется в цифровой звуковой сигнал посредством звукового процессора 126500 согласно управлению центрального контроллера 12710. Цифровой звуковой сигнал может быть преобразован в передаваемый сигнал через модуль 12660 модуляции/демодуляции и схему 12610 связи и может передаваться через антенну 12510.
Когда текстовое сообщение, к примеру, почтовое сообщение, передается в режиме передачи данных, текстовые данные сообщения вводятся посредством использования панели 12540 управления и передаются в центральный контроллер 12710 через модуль 12640 управления функциональным вводом. Согласно управлению центрального контроллера 12710, текстовые данные преобразуются в передаваемый сигнал через модуль 12660 модуляции/демодуляции и модуль 12610 связи и передаются в беспроводную базовую станцию 12000 через антенну 12510.
Чтобы передавать данные изображений в режиме передачи данных, данные изображений, полученные посредством фотографирования посредством использования камеры 12530, предоставляются в модуль 12720 кодирования изображений через интерфейс 12630 камеры. Данные изображений, полученные посредством фотографирования посредством использования камеры 12530, могут быть непосредственно отображены на экране 125200 отображения через интерфейс 12630 камеры и модуль 12620 управления ЖК-дисплеем.
Структура модуля 12720 кодирования изображений может соответствовать структуре устройства 100 кодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанного выше. Модуль 12720 кодирования изображений может кодировать данные изображений, предоставленные посредством камеры 12530, чтобы преобразовывать данные изображений в данные изображений, которые представляют собой сжатые и кодированные данные изображений, посредством использования способа кодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанного выше, и затем выводить кодированные данные изображений в мультиплексор/демультиплексор 12680. В ходе операции записи камеры 12530 звуковой сигнал, который получается через микрофон 12550 мобильного телефона 125000, также может быть преобразован в цифровые звуковые данные через звуковой процессор 126500, и цифровые звуковые данные могут передаваться в мультиплексор/демультиплексор 12680.
Мультиплексор/демультиплексор 12680 мультиплексирует кодированные данные изображений, предоставляемые посредством модуля 12720 кодирования изображений, вместе со звуковыми данными, предоставляемыми посредством звукового процессора 126500. Мультиплексированные данные могут преобразовываться в передаваемый сигнал через модуль 12660 модуляции/демодуляции и схему 12610 связи и могут передаваться через антенну 12510.
В то время, когда мобильный телефон 125000 принимает передаваемые данные извне, сигнал, принимаемый через антенну 12510, преобразуется в цифровой сигнал посредством выполнения восстановления частоты и аналого-цифрового преобразования (ADC). Модуль 12660 модуляции/демодуляции модулирует полосу частот цифрового сигнала. Модулированный по полосе частот цифровой сигнал передается в модуль 12690 декодирования видео, звуковой процессор 126500 или модуль 12620 управления ЖК-дисплеем, согласно типу цифрового сигнала.
В режиме разговора, мобильный телефон 125000 усиливает сигнал, принимаемый через антенну 12510, и формирует цифровой звуковой сигнал посредством преобразования частоты и ADC. Принимаемый цифровой звуковой сигнал преобразуется в аналоговый звуковой сигнал через модуль 12660 модуляции/демодуляции и звуковой процессор 126500, и аналоговый звуковой сигнал выводится через динамик 125800, согласно управлению центрального контроллера 12710.
Когда данные видеофайла, доступного на Интернет-веб-узле, принимаются в режиме передачи данных, сигнал, принимаемый из беспроводной базовой станции 12000 через антенну 12510, выводится в качестве мультиплексированных данных через модуль 12660 модуляции/демодуляции, и мультиплексированные данные передаются в мультиплексор/демультиплексор 12680.
Чтобы декодировать мультиплексированные данные, принятые через антенну 12510, мультиплексор/демультиплексор 12680 демультиплексирует мультиплексированные данные в кодированный поток видеоданных и кодированный поток аудиоданных. Через шину 12730 синхронизации кодированный поток видеоданных предоставляется в модуль 12690кодирования видео, и кодированный поток аудиоданных предоставляется в звуковой процессор 126500.
Структура модуля 12690 декодирования изображений может соответствовать структуре устройства декодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанного выше. Модуль 12690 декодирования изображений может декодировать кодированные видеоданные, чтобы формировать восстановленные видеоданные, и предоставлять восстановленные видеоданные на экран 125200 отображения через модуль 12620 управления ЖК-дисплеем, посредством использования способа декодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанного выше.
Соответственно, видеоданные видеофайла, доступного на Интернет-веб-узле, могут отображаться на экране 12520 отображения. Одновременно, звуковой процессор 12650 также может преобразовывать аудиоданные в аналоговый звуковой сигнал и предоставлять аналоговый звуковой сигнал на динамик 12580. Таким образом, аудиоданные, содержащиеся в видеофайле, доступном на Интернет-веб-узле, также могут быть воспроизведены через динамик 12580.
Мобильный телефон 12500 или другие типы терминалов связи могут представлять собой приемо-передающий терминал, включающей в себя как устройство кодирования видео, так и устройство декодирования видео согласно вариантам осуществления настоящего раскрытия сущности, либо передающий терминал, включающий в себя только устройство кодирования видео, либо приемный терминал, включающий в себя только устройство декодирования видео.
Система связи согласно вариантам осуществления настоящего раскрытия сущности не ограничена вышеприведенной структурой, описанной со ссылкой на фиг. 20. Например, фиг. 23 иллюстрирует цифровую широковещательную систему, в которой применяется система связи согласно одному или более вариантов осуществления, согласно одному или более вариантов осуществления. Цифровая широковещательная система по фиг. 23 может принимать цифровую широковещательную передачу, передаваемую через спутниковую или наземную сеть посредством использования устройства кодирования видео или устройства декодирования видео согласно вариантам осуществления настоящего раскрытия сущности.
Подробно, широковещательная станция 12890 передает поток видеоданных через радиоволну на спутник связи или широковещательный спутник 12900. Широковещательный спутник 12900 передает широковещательный сигнал, и широковещательный сигнал принимается посредством спутникового широковещательного приемного устройства через антенну 12860 в каждом доме. В каждом доме, кодированный видеопоток может декодироваться посредством использования телевизионного приемника 12810, абонентской приставки 12870 или другого устройства для воспроизведения.
Поскольку устройство декодирования видео согласно варианту осуществления настоящего раскрытия сущности реализовано в устройстве 12830 воспроизведения, устройство 12830 воспроизведения может считывать и декодировать кодированный видеопоток, записанный на носителе 12820 хранения данных, таком как диск или карта памяти. Таким образом, восстановленный видеосигнал может быть воспроизведен, например, на мониторе 12840.
Устройство декодирования видео согласно варианту осуществления настоящего раскрытия сущности также может быть смонтировано в абонентской приставке 12870, подключенной к антенне 12860 для приема спутника/наземной широковещательной передачи или к кабельной антенне 12850 для приема кабельной телевизионной широковещательной передачи. Данные, выводимые из абонентской приставки 12870, также могут воспроизводиться на телевизионном мониторе 12880.
Альтернативно, устройство декодирования видео согласно варианту осуществления настоящего раскрытия сущности может быть смонтировано в телевизионном приемнике 12810 вместо абонентской приставки 12870.
Автомобиль 12920, включающий в себя надлежащую антенну 12910, может принимать сигнал, передаваемый посредством спутника 12800 или беспроводной базовой станции 11700 по фиг. 21. Декодированное видео может быть воспроизведено на экране отображения автомобильной навигационной системы 12930, смонтированной в автомобиле 12920.
Видеосигнал может кодироваться посредством использования устройства кодирования видео согласно варианту осуществления настоящего раскрытия сущности и записываться и сохраняться на носителе хранения данных. Подробно, сигнал изображения может сохраняться на DVD-диске 12960 посредством использования записывающего DVD-устройства или может сохраняться на жестком диске посредством использования устройства 12950 записи с жестким диском. Альтернативно, видеосигнал может сохраняться на SD-карте 12970. Когда устройство 12950 записи с жестким диском включает в себя устройство декодирования видео согласно варианту осуществления настоящего раскрытия сущности, видеосигнал, записанный на DVD-диск 12960, SD-карту 12970 или другой тип носителя хранения данных, может быть воспроизведен на телевизионном мониторе 12880.
Автомобильная навигационная система 12930 может не включать в себя камеру 12530, интерфейс 12630 камеры и модуль 12720 кодирования изображений по фиг. 23. Например, компьютер 12100 и телевизионный приемник 12810 также могут не включать в себя в камеру 12530, интерфейс 12630 камеры и модуль 12720 кодирования изображений по фиг. 23.
Фиг. 24 иллюстрирует сетевую структуру облачной вычислительной системы с использованием устройства кодирования видео и устройства декодирования видео согласно одному или более вариантов осуществления.
Облачная вычислительная система согласно текущему варианту осуществления настоящего раскрытия сущности может включать в себя облачный вычислительный сервер 14000, базу 14100 данных (DB) пользователей, множество вычислительных ресурсов 14200 и пользовательский терминал.
Облачная вычислительная система предоставляет аутсорсинговую услугу по запросу для вычислительных ресурсов 260 через сеть передачи данных, такую как Интернет, при запросе посредством пользовательского терминала. В облачном вычислительном окружении, поставщик услуг предоставляет пользователям запрашиваемые услуги посредством интегрирования вычислительных ресурсов центра обработки и хранения данных, расположенного в различных физических позициях, посредством использования технологии виртуализации. Вместо использования вычислительных ресурсов, таких как приложение, хранилище, операционная система (ОС) или система безопасности и т.п., посредством их установки в каждом терминале пользователя, пользователь услуг может выбирать и использовать услугу в виртуальном пространстве, которое формируется посредством использования технологии виртуализации, требуемым образом и в требуемый момент времени.
Пользовательский терминал предварительно определенного пользователя услуг подключается к облачному вычислительному серверу 14000 через сеть передачи данных, включающую в себя Интернет и сеть мобильной связи. Пользовательским терминалам может предоставляться услуга облачных вычислений, в частности, услуга воспроизведения видео, из облачного вычислительного сервера 14000. Пользовательский терминал может представлять собой любое электронное устройство, которое может подключаться к Интернету, такое как настольный PC 14300, интеллектуальный телевизор 14400, смартфон 14500, переносной компьютер 14600, портативный мультимедийный проигрыватель 14700 (PMP) или планшетный PC 14800.
Облачный вычислительный сервер 14000 может интегрировать множество вычислительных ресурсов 14200, распределенных в облачной сети, и предоставлять для пользовательского терминала интегрированные вычислительные ресурсы 14200. Множество вычислительных ресурсов 14200 включает в себя различные услуги передачи данных и могут включать в себя данные, выгруженные из пользовательского терминала. Таким образом, облачный вычислительный сервер 14000 может предоставлять услуги, запрашиваемые посредством пользовательского терминала, посредством интегрирования баз видеоданных, которые распределены в различных регионах, посредством использования технологии виртуализации.
В DB 14100 пользователей сохраняется пользовательская информация пользователей, которые подписаны на услугу облачных вычислений. Пользовательская информация может включать в себя регистрационную информацию и персональную кредитную информацию, такую как адреса и имена. Кроме того, пользовательская информация может включать в себя индексы видео. Индексы могут включать в себя список видео, которые полностью воспроизведены, список видео, которые воспроизводятся, точку приостановки видео, которое воспроизведено, и т.п.
Информация относительно видео, сохраненного в DB 14100 пользователей, может совместно использоваться пользовательскими устройствами. Например, когда предварительно определенная услуга передачи видео предоставляется в переносной компьютер 14600 при запросе на воспроизведение, выполненном посредством переносного компьютера 14600, предыстория воспроизведения предварительно определенной услуги передачи видео сохраняется в DB 14100 пользователей. Когда запрос на то, чтобы воспроизводить идентичную услугу передачи видео, принимается из смартфона 14500, облачный вычислительный сервер 14000 выполняет поиск и воспроизводит эту услугу передачи видео посредством обращения к DB 14100 пользователей. Когда смартфон 14500 принимает поток видеоданных через облачный вычислительный сервер 14000, операция воспроизведения видео посредством декодирования потока видеоданных является аналогичной операции мобильного телефона 125000, описанного выше со ссылкой на фиг. 21.
Облачный вычислительный сервер 14000 может обращаться к предыстории воспроизведения предварительно определенной услуги передачи видео, сохраненной в DB 14100 пользователей. Например, облачный вычислительный сервер 14000 принимает запрос на то, чтобы воспроизводить видео, сохраненное в DB 14100 пользователей, из пользовательского терминала. Если видео воспроизведено, то способ потоковой передачи этого видео, осуществляемый посредством облачного вычислительного сервера 14000, может варьироваться согласно запросу из пользовательского терминала, т.е. согласно тому, воспроизводится видео начиная с начала или с точки приостановки. Например, если пользовательский терминал запрашивает воспроизводить видео с начала, облачный вычислительный сервер 14000 передает потоковые данные соответствующего видео с первого кадра в пользовательский терминал. С другой стороны, если терминал запрашивает воспроизводить видео с точки приостановки, облачный вычислительный сервер 14000 передает потоковые данные видео с кадра, соответствующего точке приостановки, в пользовательский терминал.
Здесь, пользовательский терминал может включать в себя устройство декодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанное выше со ссылкой на фиг. 1A-17. Согласно другому варианту осуществления, пользовательский терминал может включать в себя устройство кодирования видео согласно варианту осуществления настоящего раскрытия сущности, описанное выше со ссылкой на фиг. 1A-17. Кроме того, пользовательский терминал может включать в себя как устройство кодирования видео, так и устройство декодирования видео, описанные выше со ссылкой на фиг. 1A-17.
Различные примеры вариантов применения способа кодирования видео и способа декодирования видео, описанных выше со ссылкой на фиг. 1A-17, и устройства кодирования видео и устройства декодирования видео согласно настоящему раскрытию сущности описываются выше со ссылкой на фиг. 18-24. Тем не менее, способы сохранения способа кодирования видео и способа декодирования видео, описанных выше со ссылкой на фиг. 1A-17, на носителе хранения данных либо способ реализации устройства кодирования видео и устройства декодирования видео в устройстве не ограничены вариантами осуществления фиг. 18-24.
Хотя это изобретение конкретно показано и описано со ссылкой на его предпочтительные варианты осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и содержанию могут вноситься без отступления от сущности и объема изобретения, заданных посредством прилагаемой формулы изобретения. Предпочтительные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Следовательно, объем изобретения задается не посредством подробного описания изобретения, а посредством прилагаемой формулы изобретения, и любые отличия в пределах объема должны истолковываться как включенные в настоящее раскрытие сущности.