СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИНФОРМАЦИИ ДВИЖЕНИЯ, А ТАКЖЕ СПОСОБ И УСТРОЙСТВО ДЛЯ ЕЕ ДЕКОДИРОВАНИЯ
METHOD AND DEVICE FOR MOTION INFORMATION ENCODING, AS WELL AS METHOD AND DEVICE FOR ITS DECODING

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к способу и устройству для кодирования и декодирования информации движения, а более конкретно, к способу и устройству для эффективного кодирования и декодирования информации движения текущей единицы прогнозирования.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В последнее время, поскольку видеоконтент высокой четкости повсеместно используется, возрастает потребность в видеокодеке, имеющем более высокую эффективность кодирования по сравнению с традиционным видеокодеком, таким как MPEG-4 H.264/MPEG-4, усовершенствованное кодирование видео (AVC).
Согласно компенсации движения, которая является технологией для удаления временной избыточности в видеосигнале, эффективность сжатия повышается посредством передачи остаточного сигнала, который является значением разности между исходным видеосигналом и опорным сигналом, указываемым посредством вектора движения. В общем, вектор движения и остаточное значение каждого блока, в качестве результата кодирования, полученного посредством кодирования каждого блока посредством использования компенсации движения, передаются в декодер. Поскольку векторы движения каждого блока занимают значительный объем кодированного потока битов, информация относительно вектора движения, назначаемого каждому блоку, должна быть уменьшена, с тем чтобы повышать эффективность сжатия.
Чтобы уменьшать объем служебной информации при передаче в ходе кодирования вектора движения, вектор движения предыдущего блока используется в качестве прогнозного вектора движения текущего блока в традиционном MPEG-2-кодеке, и среднее векторов движения заранее кодированных блоков, которые являются смежными с левой стороной, верхней стороной и верхней правой стороной текущего блока, используется в качестве прогнозного вектора движения текущего блока в таком кодеке, как MPEG-4 H.264/MPEG-4 AVC.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЦЕЛЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение предоставляет способ и устройство для эффективного кодирования и декодирования информации движения текущей единицы прогнозирования.
СРЕДСТВО ДЛЯ ДОСТИЖЕНИЯ ТЕХНИЧЕСКОЙ ЦЕЛИ
Согласно вариантам осуществления настоящего изобретения, информация движения различных возможных вариантов (кандидатов) формируется посредством использования информации движения единиц прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информации движения единиц прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования.
ЭФФЕКТ ОТ ИЗОБРЕТЕНИЯ
Согласно вариантам осуществления настоящего изобретения, эффективность сжатия изображения может быть повышена посредством использования различных возможных вариантов движения, полученных на основе информации движения смежной единицы прогнозирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является блок-схемой устройства для кодирования видео согласно варианту осуществления настоящего изобретения;
Фиг. 2 является блок-схемой устройства для декодирования видео согласно варианту осуществления настоящего изобретения;
Фиг. 3 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 4 является блок-схемой кодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 5 является блок-схемой декодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения;
Фиг. 7 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения;
Фиг. 8 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения;
Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения;
Фиг. 10-12 являются схемами для описания взаимосвязи между единицами кодирования, единицами прогнозирования и единицами преобразования, согласно варианту осуществления настоящего изобретения.
Фиг. 13 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 1;
Фиг. 14 является блок-схемой устройства кодирования информации движения согласно варианту осуществления настоящего изобретения;
Фиг. 15 является блок-схемой модуля формирования информации движения возможного варианта по фиг. 14, согласно варианту осуществления настоящего изобретения;
Фиг. 16 иллюстрирует смежные единицы прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, согласно варианту осуществления настоящего изобретения
Фиг. 17A является справочной схемой для пояснения процесса для определения возможного варианта масштабированного пространственного прогнозного вектора движения, согласно варианту осуществления настоящего изобретения;
Фиг. 17B является справочной схемой для пояснения процесса для формирования информации движения дополнительного возможного варианта посредством использования единицы прогнозирования, которая пространственно совместно размещается с текущей единицей прогнозирования, согласно варианту осуществления настоящего изобретения;
Фиг. 18 является справочной схемой для пояснения способа формирования возможного варианта прогнозного вектора движения текущей единицы прогнозирования посредством масштабирования вектора движения смежной единицы прогнозирования, согласно варианту осуществления настоящего изобретения;
Фиг. 19 является справочной схемой для пояснения процесса формирования временной информации движения возможного варианта, согласно варианту осуществления настоящего изобретения;
Фиг. 20A и 20B являются схемами для пояснения процесса формирования информации движения дополнительного возможного варианта посредством использования информации движения доступных единиц прогнозирования, согласно другому варианту осуществления настоящего изобретения;
Фиг. 21A и 21B являются схемами для описания позиционной взаимосвязи между текущим изображением и опорным изображением, когда формируется информацию движения дополнительного возможного варианта фиг. 20A и 20B, согласно варианту осуществления настоящего изобретения;
Фиг. 22 является блок-схемой последовательности операций способа кодирования вектора движения, согласно варианту осуществления настоящего изобретения;
Фиг. 23 является блок-схемой устройства декодирования векторов движения согласно варианту осуществления настоящего изобретения;
Фиг. 24 является блок-схемой последовательности операций способа декодирования информации движения, согласно варианту осуществления настоящего изобретения.
ОПТИМАЛЬНЫЙ РЕЖИМ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Согласно аспекту настоящего изобретения, предусмотрен способ кодирования информации движения, включающий в себя выполнение прогнозирования движения в отношении текущей единицы прогнозирования, чтобы получать информацию движения относительно текущей единицы прогнозирования; определение того, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования; в результате определения, когда число информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования меньше предварительно определенного числа n (где n является целым числом), формирование информации движения дополнительного возможного варианта посредством использования доступной информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования так, чтобы общее число фрагментов информации движения возможных вариантов составляло n; и кодирование информации движения текущей единицы прогнозирования посредством использования n фрагментов информации движения.
Определение может включать в себя выполнение поиска в предварительно определенных единицах прогнозирования, размещенных сверху от текущей единицы прогнозирования, в предварительно определенном порядке сканирования, и выбор информации движения первой верхней единицы прогнозирования, имеющей доступную информацию движения, в качестве верхнего возможного варианта пространственной информации движения текущей единицы прогнозирования; выполнение поиска в предварительно определенных единицах прогнозирования, размещенных слева от текущей единицы прогнозирования, в предварительно определенном порядке сканирования, и выбор информации движения первой левой единицы прогнозирования, имеющей доступную информацию движения, в качестве левого возможного варианта пространственной информации движения текущей единицы прогнозирования; и выбор информации движения единицы прогнозирования предыдущего изображения, выбранной из предыдущего изображения, на основе единицы прогнозирования предыдущего изображения, имеющей местоположение, идентичное местоположению текущей единицы прогнозирования, в качестве возможного варианта временной информации движения текущей единицы прогнозирования, при этом формирование информации движения дополнительного возможного варианта выполняется, когда общее число фрагментов информации движения возможных вариантов, полученных посредством использования верхнего возможного варианта пространственной информации движения, левого возможного варианта пространственной информации движения и возможного варианта временной информации движения, меньше n.
Формирование информации движения дополнительного возможного варианта может включать в себя формирование информации движения доступной верхней единицы прогнозирования, в которой выполняется поиск после того, как выполнен поиск в первой верхней единице прогнозирования, имеющей доступную информацию движения, в качестве информации движения дополнительного возможного варианта, в предварительно определенном порядке сканирования.
Формирование информации движения дополнительного возможного варианта может включать в себя формирование информации движения дополнительного возможного варианта, имеющей информацию движения доступной левой единицы прогнозирования, в которой выполняется поиск после того, как выполнен поиск в первой левой единице прогнозирования, имеющей доступную информацию движения, в предварительно определенном порядке сканирования.
Формирование информации движения дополнительного возможного варианта может включать в себя масштабирование информации движения единицы прогнозирования предыдущего изображения, имеющей информацию движения, из числа оставшихся единиц прогнозирования предыдущего изображения за исключением единицы прогнозирования первого предыдущего изображения, имеющей доступную информацию движения, и формирование информации движения дополнительного возможного варианта, когда единицы прогнозирования предыдущего изображения, которое определяется на основе единицы прогнозирования предыдущего изображения, имеющей местоположение, идентичное местоположению текущей единицы прогнозирования, сканируются в предварительно определенном порядке сканирования.
Определение может включать в себя выбор информации движения предварительно определенных единиц пространственного прогнозирования, местоположения которых заранее определяются, из числа предварительно определенных единиц прогнозирования, размещенных сверху и слева от текущей единицы прогнозирования, в качестве возможного варианта пространственной информации движения текущей единицы прогнозирования; выбор информации движения единицы прогнозирования предыдущего изображения, выбранной из предыдущего изображения, на основе единицы прогнозирования предыдущего изображения, имеющей местоположение, идентичное местоположению текущей единицы прогнозирования, в качестве возможного варианта временной информации движения текущей единицы прогнозирования, при этом формирование информации движения дополнительного возможного варианта выполняется, когда общее число фрагментов информации движения возможных вариантов, полученных посредством использования возможного варианта пространственной информации движения и возможного варианта временной информации движения, меньше n.
Формирование информации движения дополнительного возможного варианта может включать в себя, формирование предварительно определенной информации движения, которая заранее определяется, в качестве информации движения дополнительного возможного варианта. Предварительно определенная информация движения может представлять собой вектор движения, имеющий предварительно определенное значение, индекс опорного изображения, имеющий предварительно определенное значение, и информацию опорного направления согласно типу слайса, которому принадлежит текущее прогнозирование.
Формирование информации движения дополнительного возможного варианта может включать в себя, когда информация движения доступных единиц пространственного прогнозирования и единиц временного прогнозирования включает в себя информацию двунаправленного вектора движения прогнозирования направления L0 и направления L1, формирование информации движения дополнительного возможного варианта посредством суммирования и вычитания предварительно определенного смещения с и из вектора движения прогнозирования направления L0 и вектора движения прогнозирования направления L1.
Когда первое опорное изображение, используемое при прогнозировании направления L0, и второе опорное изображение, используемое при прогнозировании направления L1, размещаются в идентичном местоположении на основе текущего изображения, включающего в себя текущую единицу прогнозирования, смещение может суммироваться с вектором движения прогнозирования направления L0 и вектором движения прогнозирования направления L1, и когда текущее изображение размещается между первым опорным изображением, используемым при прогнозировании направления L0, и вторым опорным изображением, используемым при прогнозировании направления L1, смещение может суммироваться с вектором движения прогнозирования направления L0, и значение, полученное посредством умножения смещения на -1, суммируется с вектором движения прогнозирования направления L1.
Формирование информации движения дополнительного возможного варианта может включать в себя изменение направлений прогнозирования информации движения доступных единиц пространственного прогнозирования и информации движения доступных единиц временного прогнозирования, чтобы формировать информацию движения дополнительного возможного варианта.
Формирование информации движения дополнительного возможного варианта может включать в себя, когда информация движения доступных единиц пространственного прогнозирования и информация движения доступных единиц временного прогнозирования включают в себя информацию двунаправленного вектора движения прогнозирования направления L0 и прогнозирования направления L1, формирование информации движения дополнительного возможного варианта посредством использования информации однонаправленного движения одного, выбранного из направления у направления L0 и направления у направления L1.
Формирование информации движения дополнительного возможного варианта может включать в себя, когда информация движения доступных единиц пространственного прогнозирования и информация движения доступных единиц временного прогнозирования включают в себя информацию однонаправленного движения одного, выбранного из направления у направления L0 и направления у направления L1, формирование информации движения дополнительного возможного варианта посредством использования информации двунаправленного движения, полученной посредством комбинирования прогнозирования направления L0 и прогнозирования направления L1.
Формирование информации движения дополнительного возможного варианта может включать в себя, когда информация движения доступных единиц пространственного прогнозирования и информация движения доступных единиц временного прогнозирования включают в себя информацию однонаправленного движения одного, выбранного из направления у направления L0 и направления у направления L1, формирование информации двунаправленного движения, сформированной посредством комбинирования информации однонаправленного движения, включающей в себя вектор движения, имеющий предварительно определенное значение компоненты, в качестве информации движения дополнительного возможного варианта.
Помимо этого, формирование информации движения дополнительного возможного варианта может включать в себя формирование опорного изображения, имеющего индекс опорного изображения, имеющий предварительно определенное значение, в качестве информации движения дополнительного возможного варианта.
При формировании информации движения дополнительного возможного варианта, может не проверяться то, дублируются ли информация движения возможного варианта по умолчанию и сформированная информация движения дополнительного возможного варианта, и сформированная информация движения дополнительного возможного варианта может добавляться в информацию движения возможного варианта.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство для кодирования информации движения, включающее в себя модуль формирования информации движения возможного варианта для выполнения прогнозирования движения в отношении текущей единицы прогнозирования, чтобы получать информацию движения относительно текущей единицы прогнозирования, для определения того, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования, и в результате определения, когда число информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования меньше предварительно определенного числа n (где n является целым числом), для формирования информации движения дополнительного возможного варианта посредством использования доступной информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования так, чтобы общее число фрагментов информации движения возможных вариантов составляло `n`; и декодер информации движения для кодирования информации движения текущей единицы прогнозирования посредством использования `n` фрагментов информации движения.
Согласно другому аспекту настоящего изобретения, предусмотрен способ декодирования информации движения, включающий в себя определение того, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования; в результате определения, когда число информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования меньше предварительно определенного числа `n` (где n является целым числом), формирование информации движения дополнительного возможного варианта посредством использования доступной информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования так, чтобы общее число фрагментов информации движения возможных вариантов составляло `n`; получение информации индекса, указывающей одну информацию движения из числа `n` фрагментов информации движения возможных вариантов, из потока битов; и получение информации движения текущей единицы прогнозирования посредством использования информации движения, указанной индексом.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство для декодирования информации движения, включающее в себя модуль формирования для определения того, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования, и в результате определения, когда число информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования меньше предварительно определенного числа `n` (где n является целым числом), для формирования информации движения дополнительного возможного варианта посредством использования доступной информации движения единиц пространственного прогнозирования и информации движения единиц временного прогнозирования, так чтобы общее число фрагментов информации движения возможных вариантов составляло `n`; энтропийный декодер для получения информации индекса, указывающей одну информацию движения из числа `n` фрагментов информации движения возможных вариантов, из потока битов; и декодер информации движения для получения информации движения текущей единицы прогнозирования посредством использования информации движения, указанной индексом.
Лучшие варианты осуществления изобретения
Далее настоящее изобретение описывается более подробно со ссылкой на прилагаемые чертежи, на которых показаны примерные варианты осуществления изобретения.
Фиг. 1 является блок-схемой устройства 100 кодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео включает в себя модуль 110 разделения на максимальные единицы кодирования, модуль 120 определения единиц кодирования и модуль 130 вывода.
Модуль 110 разбиения на максимальные единицы кодирования может разбивать текущее изображение на основе максимальной единицы кодирования для текущей картины изображения. Если текущее изображение больше максимальной единицы кодирования, данные изображений для текущего изображения могут разбиваться на по меньшей мере одну максимальную единицу кодирования. Максимальная единица кодирования согласно варианту осуществления настоящего изобретения может быть единицей данных, имеющей размер 32x32, 64x64, 128x128, 256x256 и т.д., при этом форма единицы данных является квадратом, имеющим ширину и длину в квадратах по 2. Данные изображений могут выводиться в модуль 120 определения единиц кодирования согласно по меньшей мере одной максимальной единице кодирования.
Единица кодирования согласно варианту осуществления настоящего изобретения может отличаться посредством максимального размера и глубины. Глубина обозначает число раз, которое единица кодирования пространственно разбивается от максимальной единицы кодирования, и по мере того, как увеличивается глубина, более глубокие единицы кодирования согласно глубинам могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, снижается по мере того, как увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображений для текущего изображения разбиваются на максимальные единицы кодирования согласно максимальному размеру единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиваются согласно глубинам. Поскольку максимальная единица кодирования согласно варианту осуществления настоящего изобретения разбивается согласно глубинам, данные изображений пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы согласно глубинам.
Может быть предварительно определена максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, сколько высота и ширина максимальной единицы кодирования иерархически разбиваются.
Модуль 120 определения единиц кодирования кодирует по меньшей мере одну область разбиения, полученную посредством разбиения области максимальной единицы кодирования согласно глубинам, и определяет глубину, чтобы выводить конечные кодированные данные изображений согласно по меньшей мере одной области разбиения. Другими словами, модуль 120 определения единиц кодирования определяет кодированную глубину посредством кодирования данных изображений в более глубоких единицах кодирования согласно глубинам, согласно максимальной единице кодирования текущего изображения и выбора глубины, имеющей наименьшую ошибку кодирования. Таким образом, кодированные данные изображений единицы кодирования, соответствующей определенной кодированной глубине, в завершение выводятся. Кроме того, единицы кодирования, соответствующие кодированной глубине, могут рассматриваться в качестве кодированных единиц кодирования. Определенная кодированная глубина и кодированные данные изображений согласно определенной кодированной глубине выводятся в модуль 130 вывода.
Данные изображений в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или меньшей максимальной глубины, и результаты кодирования данных изображений сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере одна кодированная глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разбивается по мере того, как единица кодирования иерархически разбивается согласно глубинам, и по мере того, как увеличивается число единиц кодирования. Кроме того, даже если единицы кодирования соответствуют идентичной глубине в одной максимальной единице кодирования, определяется то, разбивать или нет каждую из единиц кодирования, соответствующих идентичной глубине, до нижней глубины посредством измерения ошибки кодирования данных изображений каждой единицы кодирования, отдельно. Соответственно, даже когда данные изображений включаются в одну максимальную единицу кодирования, данные изображений разбиваются на области согласно глубинам, ошибки кодирования могут отличаться согласно областям в одной максимальной единице кодирования, и, таким образом, кодированные глубины могут отличаться согласно областям в данных изображений. Таким образом, одна или более кодированных глубин могут быть определены в одной максимальной единице кодирования, и данные изображений максимальной единицы кодирования могут быть разделены согласно единицам кодирования по меньшей мере одной кодированной глубины.
Соответственно, модуль 120 определения единиц кодирования может определять единицы кодирования, имеющие древовидную структуру, включенные в максимальную единицу кодирования. "Единицы кодирования, имеющие древовидную структуру" согласно варианту осуществления настоящего изобретения включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена согласно глубинам в идентичной области максимальной единицы кодирования и может быть независимо определена в различных областях. Аналогично, кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.
Максимальная глубина согласно варианту осуществления настоящего изобретения является индексом, связанным с числом разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее число уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, на которую максимальная единица кодирования разбивается один раз, может задаваться равной 1, а глубина единицы кодирования, на которую максимальная единица кодирования разбивается два раза, может задаваться равной 2. Здесь, если минимальная единица кодирования является единицей кодирования, на которую максимальная единица кодирования разбивается четыре раза, имеется 5 уровней глубины с глубинами 0, 1, 2, 3 и 4, и за счет этого первая максимальная глубина может задаваться равной 4, а вторая максимальная глубина может задаваться равной 5.
Прогнозирующее кодирование и преобразование может выполняться согласно максимальной единице кодирования. Прогнозирующее кодирование и преобразование также выполняются на основе более глубоких единиц кодирования согласно глубине, равной, или глубинам, меньшим максимальной глубины, согласно максимальной единице кодирования. Преобразование может выполняться согласно способу ортогонального преобразования или целочисленного преобразования.
Поскольку число более глубоких единиц кодирования увеличивается каждый раз, когда максимальная единица кодирования разбивается согласно глубинам, кодирование, включающее в себя прогнозирующее кодирование и преобразование, выполняется в отношении всех более глубоких единиц кодирования, сформированных по мере того, как увеличивается глубина. Для удобства описания, прогнозирующее кодирование и преобразование далее описываются на основе единицы кодирования текущей глубины в максимальной единице кодирования.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображений. Чтобы кодировать данные изображений, выполняются такие операции, как прогнозирующее кодирование, преобразование и энтропийное кодирование, и в это время, идентичная единица данных может использоваться для всех операций, или различные единицы данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображений, но также и единицу данных, отличающуюся от единицы кодирования, с тем чтобы выполнять прогнозирующее кодирование в отношении данных изображений в единице кодирования.
Чтобы выполнять прогнозирующее кодирование в максимальной единице кодирования, прогнозирующее кодирование может выполняться на основе единицы кодирования, соответствующей кодированной глубине, т.е. на основе единицы кодирования, которая более не разбивается на единицы кодирования, соответствующие нижней глубине. В дальнейшем в этом документе, единица кодирования, которая более не разбивается и становится базисной единицей для прогнозирующего кодирования, далее упоминается как "единица прогнозирования". Сегмент, полученный посредством разбиения единицы прогнозирования, может включать в себя единицу данных, полученную посредством разбиения по меньшей мере одной из высоты и ширины единицы прогнозирования.
Например, когда единица кодирования в 2Nx2N (где N является положительным целым числом) более не разбивается и становится единицей прогнозирования в 2Nx2N, размер сегмента может составлять 2Nx2N, 2NxN, Nx2N или NxN. Примеры типа сегмента включают в себя симметричные сегменты, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, сегменты, полученные посредством асимметричного разбиения высоты или ширины единицы прогнозирования, к примеру, 1:n или n:1, сегменты, которые получаются посредством геометрического разбиения единицы прогнозирования, и сегменты, имеющие произвольные формы.
Режим прогнозирования единицы прогнозирования может быть по меньшей мере одним из внутреннего режима, внешнего режима и режима пропуска. Например, внутренний режим или внешний режим могут выполняться в отношении сегмента в 2Nx2N, 2NxN, Nx2N или NxN. Кроме того, режим пропуска может выполняться только в отношении сегмента в 2Nx2N. Кодирование независимо выполняется в отношении одной единицы прогнозирования в единице кодирования, в силу этого выбирая режим прогнозирования, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование в отношении данных изображений в единице кодирования на основе не только единицы кодирования для кодирования данных изображений, но также и на основе единицы данных, которая отличается от единицы кодирования.
Чтобы выполнять преобразование в единице кодирования, преобразование может выполняться на основе единицы данных, имеющей размер, меньший или равный единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для внутреннего режима и единицу данных для внешнего режима.
Единица данных, используемая в качестве базиса преобразования, далее упоминается как "единица преобразования". Аналогично единице кодирования, единица преобразования в единице кодирования может рекурсивно разбиваться на области меньших размеров, так что единица преобразования может быть определена независимо в единицах областей. Таким образом, остаточные данные в единице кодирования могут быть разделены согласно единице преобразования, имеющей древовидную структуру согласно глубинам преобразования.
Глубина преобразования, указывающая число разбиений, чтобы достигать единицы преобразования посредством разбиения высоты и ширины единицы кодирования, также может задаваться в единице преобразования. Например, в текущей единице кодирования в 2Nx2N, глубина преобразования может быть равна 0, когда размер единицы преобразования также составляет 2Nx2N, может быть равна 1, когда размер единицы преобразования составляет NxN, и может быть равна 2, когда размер единицы преобразования составляет N/2xN/2. Т.е., единица преобразования, имеющая древовидную структуру, может также задаваться согласно глубине преобразования.
Информация кодирования согласно единицам кодирования, соответствующим кодированной глубине, требует не только информацию относительно кодированной глубины, но также и информацию, связанную с прогнозирующим кодированием и преобразованием. Соответственно, модуль 120 определения единиц кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также и определяет тип сегмента в единице прогнозирования, режим прогнозирования согласно единицам прогнозирования и размер единицы преобразования для преобразования.
Ниже подробно описываются единицы кодирования согласно древовидной структуре в максимальной единице кодирования и способ определения сегмента согласно вариантам осуществления настоящего изобретения со ссылкой на фиг. 3-12.
Модуль 120 определения единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования оптимизации искажения в зависимости от скорости передачи на основе множителей Лагранжа.
Модуль 130 вывода выводит данные изображений максимальной единицы кодирования, которая кодируется на основе по меньшей мере одной кодированной глубины, определенной посредством модуля 120 определения единиц кодирования, и информации относительно режима кодирования согласно кодированной глубине в потоках битов.
Кодированные данные изображений могут быть получены посредством кодирования остаточных данных изображения.
Информация относительно режима кодирования согласно кодированной глубине может включать в себя информацию относительно кодированной глубины, относительно типа сегмента в единице прогнозирования, режима прогнозирования и размера единицы преобразования.
Информация относительно кодированной глубины может быть задана посредством использования информации разбиения согласно глубинам, которая указывает то, выполняется или нет кодирование в отношении единиц кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, данные изображений в текущей единице кодирования кодируется и выводятся, и тем самым информация разбиения может быть задана так, чтобы не разбивать текущую единицу кодирования до нижней глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется в отношении единицы кодирования нижней глубины, и тем самым информация разбиения может быть задана так, чтобы разбивать текущую единицу кодирования, чтобы получать единицы кодирования нижней глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется в отношении единицы кодирования, которая разбивается на единицу кодирования нижней глубины. Поскольку по меньшей мере одна единица кодирования нижней глубины существует в одной единице кодирования текущей глубины, кодирование многократно выполняется в отношении каждой единицы кодирования нижней глубины, и за счет этого кодирование может быть рекурсивно выполнено для единиц кодирования, имеющих идентичную глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация относительно по меньшей мере одного режима кодирования определяется для единицы кодирования кодированной глубины, информация относительно по меньшей мере одного режима кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодированная глубина данных изображений максимальной единицы кодирования может отличаться согласно местоположениям, поскольку данные изображений иерархически разбиваются согласно глубинам, и тем самым информация относительно кодированной глубины и режима кодирования может задаваться для данных изображений.
Соответственно, модуль 130 вывода может назначать информацию кодирования относительно соответствующей кодированной глубины и режима кодирования по меньшей мере одной из единицы кодирования, единицы прогнозирования и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица согласно варианту осуществления настоящего изобретения является прямоугольной единицей данных, полученной посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю кодированную глубину, на 4. Альтернативно, минимальная единица может быть максимальной прямоугольной единицей данных, которая может быть включена во все из единиц кодирования, единиц прогнозирования, единиц сегментирования и единиц преобразования, включенных в максимальную единицу кодирования.
Например, информация кодирования, выводимая через модуль 130 вывода, может классифицироваться на информацию кодирования согласно единицам кодирования и информацию кодирования согласно единицам прогнозирования. Информация кодирования согласно единицам кодирования может включать в себя информацию относительно режима прогнозирования и относительно размера сегментов. Информация кодирования согласно единицам прогнозирования может включать в себя информацию относительно оцененного направления внешнего режима, относительно индекса опорного изображения внешнего режима, относительно вектора движения, относительно компоненты сигнала цветности внутреннего режима и относительно способа интерполяции внутреннего режима. Кроме того, информация относительно максимального размера единицы кодирования, заданного согласно изображениям, слайсам или GOP, и информация относительно максимальной глубины могут вставляться в заголовок потока битов.
В устройстве 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, полученной посредством деления высоты или ширины единицы кодирования верхней глубины, которая на один слой выше, на два. Другими словами, когда размер единицы кодирования текущей глубины равен 2Nx2N, размер единицы кодирования нижней глубины равен NxN. Кроме того, единица кодирования текущей глубины, имеющей размер 2Nx2N, может включать в себя максимум 4 единицы кодирования нижней глубины.
Соответственно, устройство 100 кодирования видео может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенной с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может выполняться в отношении каждой максимальной единицы кодирования посредством использования любого из различных режимов прогнозирования и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, число макроблоков в расчете на изображение чрезмерно увеличивается. Соответственно, число фрагментов сжатой информации, сформированной для каждого макроблока, увеличивается, и в силу этого трудно передавать сжатую информацию, и эффективность сжатия данных снижается. Тем не менее, посредством использования устройства 100 кодирования видео, эффективность сжатия изображений может быть повышена, поскольку единица кодирования регулируется с учетом характеристик изображения при увеличении максимального размера единицы кодирования с учетом размера изображения.
Фиг. 2 является блок-схемой устройства 200 декодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео включает в себя приемное устройство 210, модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений. Определения различных терминов, таких как единица кодирования, глубина, единица прогнозирования, единица преобразования и информация относительно различных режимов кодирования, для различных операций устройства 200 декодирования видео являются идентичными определениям, описанным со ссылкой на фиг. 1 и устройство 100 декодирования видео.
Приемное устройство 210 принимает и синтаксически анализирует поток битов кодированного видео. Модуль 220 извлечения данных изображений и информации кодирования извлекает кодированные данные изображений для каждой единицы кодирования из синтаксически проанализированного потока битов, при этом единицы кодирования имеют древовидную структуру согласно каждой максимальной единице кодирования, и выводит извлеченные данные изображений в декодер 230 данных изображений. Модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно максимального размера единицы кодирования текущего изображения из заголовка относительно текущего изображения.
Кроме того, модуль 220 извлечения данных изображений и информации кодирования извлекает информацию относительно кодированной глубины и режима кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой максимальной единице кодирования из синтаксически проанализированного потока битов. Извлеченная информация относительно кодированной глубины и режима кодирования выводится в декодер 230 данных изображений. Другими словами, данные изображений в потоке битов разбиваются на максимальные единицы кодирования так, что декодер 230 данных изображений декодирует данные изображений для каждой максимальной единицы кодирования.
Информация относительно кодированной глубины и режима кодирования согласно максимальной единице кодирования может задаваться для информации относительно по меньшей мере одной единицы кодирования, соответствующей кодированной глубине, и информация относительно режима кодирования может включать в себя информацию относительно типа сегмента соответствующей единицы кодирования, соответствующей кодированной глубине, относительно режима прогнозирования и размера единицы преобразования. Кроме того, информация разбиения согласно глубинам может быть извлечена в качестве информации относительно кодированной глубины.
Информация относительно кодированной глубины и режима кодирования согласно каждой максимальной единице кодирования, извлеченной посредством модуля 220 извлечения данных изображений и информации кодирования, является информацией относительно определенной кодированной глубины и режима кодирования, чтобы формировать минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование в отношении каждой более глубокой единицы кодирования согласно глубинам согласно каждой максимальной единице кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображений согласно кодированной глубине и режиму кодирования, который формирует минимальную ошибку кодирования.
Поскольку информация кодирования относительно кодированной глубины и режима кодирования может назначаться предварительно определенной единице данных из соответствующей единицы кодирования, единицы прогнозирования и минимальной единицы, модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно кодированной глубины и режима кодирования согласно предварительно определенным единицам данных. Предварительно определенные единицы данных, которым назначается идентичная информация относительно кодированной глубины и режима кодирования, могут логически выводиться как единицы данных, включенные в идентичную максимальную единицу кодирования.
Декодер 230 данных изображений восстанавливает текущее изображение посредством декодирования данных изображений в каждой максимальной единице кодирования на основе информации относительно кодированной глубины и режима кодирования согласно максимальным единицам кодирования. Другими словами, декодер 230 данных изображений может декодировать кодированные данные изображений на основе извлеченной информации относительно типа сегмента, режима прогнозирования и единицы преобразования для каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя прогнозирование, включающее в себя внутреннее прогнозирование и компенсацию движения, а также обратное преобразование. Обратное преобразование может выполняться согласно способу обратного ортогонального преобразования или обратного целочисленного преобразования.
Декодер 230 данных изображений может выполнять внутреннее прогнозирование или компенсацию движения согласно сегменту и режиму прогнозирования каждой единицы кодирования на основе информации относительно типа сегмента и режима прогнозирования единицы прогнозирования единицы кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображений может выполнять обратное преобразование согласно каждой единице преобразования в единице кодирования на основе информации относительно размера единицы преобразования единицы кодирования согласно кодированным глубинам, с тем чтобы выполнять обратное преобразование согласно максимальным единицам кодирования.
Декодер 230 данных изображений может определять по меньшей мере одну кодированную глубину текущей максимальной единицы кодирования посредством использования информации разбиения согласно глубинам. Если информация разбиения указывает то, что данные изображений более не разбиваются при текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображений может декодировать кодированные данные по меньшей мере одной единицы кодирования, соответствующей каждой кодированной глубине в текущей максимальной единице кодирования, посредством использования информации относительно типа сегмента единицы прогнозирования, режима прогнозирования и размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, и выводить данные изображений текущей максимальной единицы кодирования.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя идентичную информацию разбиения, могут собираться посредством наблюдения набора информации кодирования, назначаемого для предварительно определенной единицы данных из единицы кодирования, единицы прогнозирования и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, которая должна быть декодирована посредством декодера 230 данных изображений в одном режиме кодирования.
Устройство 200 декодирования видео может получать информацию относительно по меньшей мере одной единицы кодирования, которая формирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется в отношении каждой максимальной единицы кодирования, и может использовать эту информацию для того, чтобы декодировать текущее изображение. Другими словами, могут быть декодированы единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования. Кроме того, максимальный размер единицы кодирования определяется с учетом разрешения и объема данных изображений.
Соответственно, даже если данные изображений имеют высокое разрешение и большой объем данных, данные изображений могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображений, посредством использования информации относительно оптимального режима кодирования, принимаемой из кодера.
Далее описывается способ определения единиц кодирования, имеющих древовидную структуру, единицы прогнозирования и единицы преобразования, согласно варианту осуществления настоящего изобретения со ссылкой на фиг. 3-13.
Фиг. 3 является схемой для описания принципа единиц кодирования согласно варианту осуществления настоящего изобретения.
Размер единицы кодирования может выражаться как "ширина x высота" и может составлять 64x64, 32x32, 16x16 и 8x8. Единица кодирования в 64x64 может разбиваться на сегменты в 64x64, 64x32, 32x64 или 32x32, и единица кодирования в 32x32 может разбиваться на сегменты в 32x32, 32x16, 16x32 или 16x16, единица кодирования в 16x16 может разбиваться на сегменты в 16x16, 16x8, 8x16 или 8x8, и единица кодирования в 8x8 может разбиваться на сегменты в 8x8, 8x4, 4x8 или 4x4.
В видеоданных 310 разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320, разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330, разрешение составляет 352x288, максимальный размер единицы кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 3, обозначает общее число разбиений от максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение является высоким, или объем данных является большим, максимальный размер единицы кодирования может быть большим, с тем чтобы не только повышать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 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 уровня посредством разбиения максимальной единицы кодирования три раза. По мере того, как увеличивается глубина, подробная информация может точно выражаться.
Фиг. 4 является блок-схемой кодера 400 изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции модуля 120 определения единиц кодирования устройства 100 кодирования видео, чтобы кодировать данные изображений. Другими словами, модуль 410 внутреннего прогнозирования выполняет внутреннее прогнозирование в отношении единиц кодирования во внутреннем режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют внешнюю оценку и компенсацию движения в отношении единиц кодирования во внешнем режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из модуля 410 внутреннего прогнозирования, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через модуль 480 удаления блочности и модуль 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в качестве потока 455 битов через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео, все элементы кодера 400 изображений, т.е. модуль 410 внутреннего прогнозирования, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, модуль 480 удаления блочности и модуль 490 контурной фильтрации выполняют операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, модуль 410 внутреннего прогнозирования, модуль 420 оценки движения и модуль 425 компенсации движения определяют сегменты и режим прогнозирования каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, и преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
Фиг. 5 является блок-схемой декодера 500 изображений на основе единицы кодирования согласно варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 синтаксически анализирует кодированные данные изображений, которые должны быть декодированы, и информацию относительно кодирования, требуемую для декодирования, из потока 505 битов. Кодированные данные изображений выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображений в пространственной области через обратный преобразователь 540.
Модуль 550 внутреннего прогнозирования выполняет внутреннее прогнозирование в отношении единиц кодирования во внутреннем режиме относительно данных изображений в пространственной области, и модуль 560 компенсации движения выполняет компенсацию движения в отношении единиц кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображений в пространственной области, которые пропущены через модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения, могут выводиться в качестве восстановленного кадра 595 после постобработки посредством модуля 570 удаления блочности и модуля 580 контурной фильтрации. Кроме того, данные изображений, которые постобрабатываются посредством модуля 570 удаления блочности и модуля 580 контурной фильтрации, могут выводиться в качестве опорного кадра 585.
Чтобы декодировать данные изображений в декодере 230 данных изображений устройства 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после выполнения операций синтаксического анализатора 510.
Для применения декодера 500 изображений в устройстве 200 декодирования видео, все элементы декодера 500 изображений, т.е. синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, модуль 550 внутреннего прогнозирования, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 контурной фильтрации выполняют операции на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования.
В частности, модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения выполняют операции на основе сегментов и режима прогнозирования для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 выполняет операции на основе размера единицы преобразования для каждой единицы кодирования.
Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-другому заданы пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут быть определены согласно предварительно определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования, согласно примерному варианту осуществления, максимальная высота и максимальная ширина единиц кодирования равны 64, а максимальная глубина равна 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубокой единицы кодирования разбиваются. Кроме того, единица прогнозирования и сегменты, которые являются базисами для прогнозирующего кодирования каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0, а размер, т.е. высота на ширину, равен 64x64. Глубина увеличивается вдоль вертикальной оси, и существуют единица кодирования 620, имеющая размер 32x32 и глубину в 1, единица кодирования 630, имеющая размер 16x16 и глубину в 2, единица 640 кодирования, имеющая размер 8x8 и глубину 3, и единица кодирования 650, имеющая размер 4x4 и глубину 4. Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования.
Единица прогнозирования и сегменты единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 610 кодирования, имеющая размер 64x64 и глубину 0, является единицей прогнозирования, единица прогнозирования может разбиваться на сегменты, включенные в единицу 610 кодирования, т.е. на сегмент 610, имеющий размер 64x64, сегменты 612, имеющие размер 64x32, сегменты 614, имеющие размер 32x64, или сегменты 616, имеющие размер 32x32.
Аналогично, единица прогнозирования единицы 620 кодирования, имеющей размер 32x32 и глубину в 1, может разбиваться на сегменты, включенные в единицу 620 кодирования, т.е. на сегмент 620, имеющий размер 32x32, сегменты 622, имеющие размер 32x16, сегменты 624, имеющие размер 16x32, и сегменты 626, имеющие размер 16x16.
Аналогично, единица прогнозирования единицы 630 кодирования, имеющей размер 16x16 и глубину в 2, может разбиваться на сегменты, включенные в единицу 630 кодирования, т.е. на сегмент, имеющий размер 16x16, включенный в единицу 630 кодирования, сегменты 632, имеющие размер 16x8, сегменты 634, имеющие размер 8x16, и сегменты 636, имеющие размер 8x8.
Аналогично, единица прогнозирования единицы 640 кодирования, имеющей размер 8x8 и глубину 3, может разбиваться на сегменты, включенные в единицу 640 кодирования, т.е. на сегмент, имеющий размер 8x8, включенный в единицу 640 кодирования, сегменты 642, имеющие размер 8x4, сегменты 644, имеющие размер 4x8, и сегменты 646, имеющие размер 4x4.
Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования и единицей кодирования самой нижней глубины. Единица прогнозирования единицы 650 кодирования назначается только сегменту, имеющему размер 4x4.
Чтобы определять по меньшей мере одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, модуль 120 определения единиц кодирования устройства 100 кодирования видео выполняет кодирование в отношении единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Число более глубоких единиц кодирования согласно глубинам, включающим в себя данные в идентичном диапазоне и идентичного размера, увеличивается по мере того, как увеличивается глубина. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для того, чтобы охватывать данные, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнивать результаты кодирования идентичных данных согласно глубинам, кодируются единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнять кодирование для текущей глубины из глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждой единицы прогнозирования в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, минимальная ошибка кодирования может находиться посредством сравнения наименьших ошибок кодирования согласно глубинам и выполнения кодирования для каждой глубины по мере того, как глубина увеличивается вдоль вертикальной оси иерархической структуры 600. Глубина и сегмент, имеющие минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодированной глубины и типа сегмента единицы 610 кодирования.
Фиг. 7 является схемой для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования, согласно варианту осуществления настоящего изобретения.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования во время кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 или 200 кодирования видео, если размер единицы 710 кодирования составляет 64x64, преобразование может выполняться посредством использования единиц 720 преобразования, имеющих размер 32x32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64x64, могут быть кодированы посредством выполнения преобразования в отношении каждой из единиц преобразования, имеющих размер 32x32, 16x16, 8x8 и 4x4, которые меньше 64x64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 8 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Модуль 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 для декодирования согласно каждой более глубокой единице кодирования.
Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Информация разбиения может быть использована для того, чтобы указывать изменение глубины. Информация разбиения указывает то, разбивается или нет единица кодирования текущей глубины на единицы кодирования нижней глубины.
Единица 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 сегментов, имеющих размеры 2N_0x2N_0, 2N_0xN_0 и N_0x2N_0, единица 910 прогнозирования может не разбиваться на нижнюю глубину.
Если ошибка кодирования является наименьшей в типе 918 сегмента, имеющего размер N_0xN_0, глубина изменяется с 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 сегмента, имеющего размер N_1xN_1, глубина изменяется от 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 сегмента, имеющий размер N_(d-1)xN_(d-1), имеет минимальную ошибку кодирования, поскольку максимальная глубина составляет d, единица кодирования CU_(d-1), имеющая глубину d-1, более не разбивается до нижней глубины, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, и тип сегмента текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)xN_(d-1). Кроме того, поскольку максимальная глубина составляет d, и минимальная единица 980 кодирования, имеющая самую нижнюю глубину d-1, более не разбивается до нижней глубины, информация разбиения для минимальной единицы 980 кодирования не задается.
Единица 999 данных может быть "минимальной единицей" для текущей максимальной единицы кодирования. Минимальная единица согласно варианту осуществления настоящего изобретения может быть прямоугольной единицей данных, полученной посредством разбиения минимальной единицы 980 кодирования на 4. Посредством многократного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования, чтобы определять кодированную глубину и задавать соответствующий тип сегмента и режим прогнозирования в качестве режима кодирования кодированной глубины.
Также, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах 1-d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип сегмента единицы прогнозирования и режим прогнозирования могут быть кодированы и переданы в качестве информации относительно режима кодирования. Кроме того, поскольку единица кодирования разбивается от глубины в 0 до кодированной глубины, только информация разбиения кодированной глубины задается равной 0, а информация разбиения глубин за исключением кодированной глубины задается равной 1.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию относительно кодированной глубины и единицы прогнозирования единицы 900 кодирования, чтобы декодировать сегмент 912. Устройство 200 декодирования видео может определять глубину, при которой информация разбиения равна 0, в качестве кодированной глубины посредством использования информации разбиения согласно глубинам и использовать информацию относительно режима кодирования соответствующей глубины для декодирования.
Фиг. 10-12 являются схемами для описания взаимосвязи между единицами 1010 кодирования, единицами 1060 прогнозирования и единицами 1070 преобразования, согласно варианту осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру согласно кодированным глубинам, определенным посредством устройства 100 кодирования видео, в максимальной единице кодирования. Единицы 1060 прогнозирования являются сегментами единиц прогнозирования каждой из единиц 1010 кодирования, и единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, а глубины единиц 1040, 1042, 1044 и 1046 кодирования равны 4.
В единицах 1060 прогнозирования, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются посредством разбивания единиц кодирования. Другими словами, типы сегментов в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2NxN, типы сегментов в единицах 1016, 1048 и 1052 кодирования имеют размер Nx2N, и тип сегмента единицы 1032 кодирования имеет размер NxN. Единицы прогнозирования и сегменты единиц 1010 кодирования меньше или равны каждой единицы кодирования.
Преобразование или обратное преобразование выполняется в отношении данных изображений единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от единиц кодирования в единицах 1060 прогнозирования с точки зрения размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее прогнозирование, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности в отношении единицы данных в идентичной единице кодирования.
Соответственно, кодирование рекурсивно выполняется в отношении каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования, чтобы определять оптимальную единицу кодирования, и за счет этого могут быть получены единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения относительно единицы кодирования, информацию относительно типа сегмента, информацию относительно режима прогнозирования и информацию относительно размера единицы преобразования. Таблица 1 показывает информацию кодирования, которая может задаваться посредством устройств 100 и 200 кодирования и декодирования видео.
Таблица 1
Информация 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.
Информация кодирования относительно единиц кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере одну из единицы кодирования, соответствующей кодированной глубине, единицы прогнозирования и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя по меньшей мере одну из единицы прогнозирования и минимальной единицы, содержащей идентичную информацию кодирования.
Соответственно, определяется то, включаются или нет смежные единицы данных в идентичную единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации кодирования единицы данных, и за счет этого может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, можно обращаться непосредственно к информации кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и она может использоваться.
Альтернативно, если текущая единица кодирования прогнозируется на основе информации кодирования смежных единиц данных, единицы данных, смежные с текущей единицей кодирования, ищутся с использованием кодированной информации единиц данных, и к искомым смежным единицам кодирования можно обращаться для прогнозирования текущей единицы кодирования.
Фиг. 13 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования или сегментом и единицей преобразования, согласно информации режима кодирования по таблице 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.
Когда тип сегмента задается как симметричный, т.е. тип 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.
В дальнейшем в этом документе описываются прогнозирование движения и компенсация движения, которые выполняются посредством модуля 420 оценки движения и модуля 425 компенсации движения устройства 100 кодирования видео по фиг. 4 и модуля 550 компенсации движения устройства 200 декодирования видео по фиг. 5, а также процессы кодирования и декодирования информации движения, которые выполняются посредством энтропийного кодера 450 по фиг. 4 и энтропийного декодера 520 по фиг. 5. Как описано со ссылкой на фиг. 1-13, единица прогнозирования является единицей данных для прогнозирующего кодирования единицы кодирования. В дальнейшем в этом документе, единица прогнозирования означает саму единицу прогнозирования или сегмент, полученный посредством разбиения единицы прогнозирования.
Как описано выше, единицы прогнозирования кодируются посредством использования различных режимов прогнозирования, таких как режим внутреннего прогнозирования, внешний режим и режим пропуска.
В режиме внешнего прогнозирования текущая единица прогнозирования прогнозируется посредством однонаправленного прогнозирования или двунаправленного прогнозирования. Подробно, единица прогнозирования, включенная в P-слайс, прогнозируется посредством однонаправленного прогнозирования с использованием только одного из опорного изображения `L0 picture`, включенного в список `List 0` опорных изображений, и опорного изображения `L1 picture`, включенного в список `List 1` опорных изображений. Способ прогнозирования с использованием опорного изображения `L0 picture`, включенного в список `List 0` опорных изображений, упоминается в качестве "L0-прогнозирования". Способ прогнозирования с использованием опорного изображения `L1 picture`, включенного в список `List 1` опорных изображений, упоминается в качестве "L1-прогнозирования". В списке `List 0` опорных изображений индекс опорного изображения назначается в порядке от последнего предшествующего изображения до предыдущего изображения по отношению к нему и затем назначается в порядке от ближайшего будущего изображения до следующего изображения после него. С другой стороны, в списке `List 1` опорных изображений, индекс опорного изображения назначается в порядке от ближайшего будущего изображения до следующего изображения после него и затем назначается в порядке от последнего предшествующего изображения до предыдущего изображения по отношению к нему.
Единица прогнозирования, включенная в B-слайс, прогнозируется посредством однонаправленного прогнозирования или двунаправленного прогнозирования с использованием среднего опорного изображения `L0 picture`, включенного в список `List 0` опорных изображений, и опорного изображения `L1 picture`, включенного в список `List 1` опорных изображений. Двунаправленный прогнозирующий режим, выполняемый посредством модуля 420 оценки движения, может использовать два опорных изображения вместо ограничения предыдущим или следующим опорным изображением относительно текущего изображения и может упоминаться в качестве бипрогнозирующего режима.
Затраты, полученные посредством кодирования прогнозных значений, полученных согласно режимам прогнозирования, сравниваются друг с другом, и режим прогнозирования, имеющий наименьшие затраты, определяется в качестве конечного режима прогнозирования текущей единицы прогнозирования. Когда затраты сравниваются друг с другом, конечный режим прогнозирования, который должен применяться к текущей единице прогнозирования, может быть определен на основе искажения в зависимости от скорости передачи.
Для формирования посредством стороны декодирования прогнозного значения единицы прогнозирования, в отношении которой выполняется внешнее прогнозирование, информация опорного изображения относительно изображения, к которому обращается каждая единица прогнозирования, в отношении которой выполняется внешнее прогнозирование, информация вектора движения и информация движения, к примеру, направление прогнозирования, может передаваться стороне декодирования. Согласно вариантам осуществления настоящего изобретения, для того чтобы уменьшать объем служебной информации при передаче, информация движения кодируется на основе информации движения, которая прогнозируется посредством использования информации движения смежной единицы прогнозирования, которая заранее кодируется, или посредством использования единицы прогнозирования, совместно размещаемой с текущей единицей прогнозирования в предыдущем изображении, вместо кодирования без изменений.
Согласно вариантам осуществления настоящего изобретения, предусмотрены различные способы дополнительного формирования информации движения возможного варианта, так что общее число фрагментов информации движения равно предварительно определенному числу, когда число фрагментов информации движения по умолчанию, полученной из единицы прогнозирования, которая пространственно и временно совместно размещается с текущей единицей прогнозирования, которая заранее определяется посредством стороны кодирования и стороны декодирования, меньше предварительно определенного числа. Согласно вариантам осуществления настоящего изобретения, идентичный способ может быть заранее определен из числа различных способов дополнительного формирования информации движения возможного варианта посредством стороны кодирования и стороны декодирования. В этом случае, могут задаваться соответствующие предварительно определенные индексы, указывающие различные способы дополнительного формирования информации движения возможного варианта. Помимо этого, индекс, указывающий способ дополнительного формирования информации движения возможного варианта, который используется для кодирования, может добавляться в набор параметров последовательности (SPS), набор параметров изображения (PPS) или заголовок слайса и может быть передан.
В этом подробном описании настоящее изобретение описывается с точки зрения случая, в котором кодируется информация вектора движения в качестве информации движения. Тем не менее, настоящее изобретение не ограничено этим. Альтернативно, настоящее изобретение может применяться к случаю, в котором кодируется информация движения, отличная от информации вектора движения, к примеру, информация опорного изображения и информация направления прогнозирования.
В дальнейшем в этом документе, подробно описываются способ и устройство для кодирования информации движения единицы прогнозирования, а также способ и устройство для декодирования информации движения единицы прогнозирования относительно примерных вариантов осуществления изобретения.
Фиг. 14 является блок-схемой устройства 1400 кодирования информации движения, согласно варианту осуществления настоящего изобретения. Ссылаясь на фиг. 14, устройство 1400 кодирования информации движения включает в себя модуль 1410 формирования информации движения возможного варианта и кодер 1420 информации движения. Устройство 1400 кодирования информации движения по фиг. 14 может быть включено в кодер 400 изображений по фиг. 4. Например, модуль 420 оценки движения по фиг. 4 может выполнять функцию модуля 1410 формирования информации движения возможного варианта по фиг. 14, а энтропийный кодер 450 по фиг. 4 может выполнять функцию кодера 1420 информации движения по фиг. 14. Настоящее изобретение не ограничено этим. Другие компоненты или контроллер (не показан) кодера 400 изображений по фиг. 4 может выполнять функцию устройства 1400 кодирования информации движения по фиг. 14. Модуль 1410 формирования информации движения возможного варианта получает информацию движения возможного варианта посредством использования информации движения смежных единиц прогнозирования, которые временно и пространственно совместно размещаются с текущей единицей прогнозирования. В частности, модуль 1410 формирования информации движения возможного варианта получает информацию движения возможного варианта по умолчанию из смежных единиц прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, которая заранее задается, и единиц прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования, которая заранее задается. Если число фрагментов информации движения возможных вариантов по умолчанию меньше предварительно определенного числа n (где n является целым числом), модуль 1410 формирования информации движения возможного варианта формирует `n` фрагментов информации движения возможных вариантов посредством модификации или комбинирования информации движения единиц прогнозирования, которые пространственно совместно размещаются с текущим прогнозированием, и информации движения единиц прогнозирования, которые временно совместно размещаются с текущим прогнозированием, или добавления информации движения, имеющей предварительно определенное значение, так что общее число фрагментов информации движения возможных вариантов может составлять n. Процесс формирования информации движения возможного варианта описывается ниже.
Кодер 1420 информации движения определяет информацию движения относительно текущей единицы прогнозирования из числа `n` фрагментов информации движения возможных вариантов и кодирует информацию индекса, указывающую определенную информацию движения, в качестве информации движения текущей единицы прогнозирования. Подробно, кодер 1420 информации движения назначает 0-(n -1) индексов информации движения `n` фрагментам информации движения возможных вариантов, соответственно, и кодирует индекс, соответствующий информации движения текущей единицы прогнозирования, в качестве информации движения текущей единицы прогнозирования. Например, когда информация движения соответствует прогнозному вектору движения, и n=2, т.е. когда число возможных вариантов прогнозных векторов движения текущей единицы прогнозирования задается фиксировано равным 2, если два возможных варианта прогнозных векторов движения, которые, соответственно, формируются относительно направления L0 и направления L1 посредством модуля 1410 формирования информации движения возможного варианта, представляют собой MVLX_Cand0, и MVLX_Cand1 (X равно 0 или 1), соответственно, кодер 1420 информации движения задает индекс прогнозного вектора движения, указывающий MVLX_Cand0, равным 0, и задает индекс прогнозного вектора движения, указывающий MVLX_Cand1, равным 1, и кодирует индекс, соответствующий прогнозному вектору движения, имеющему минимальные затраты, в качестве информации вектора движения текущей единицы прогнозирования согласно результату кодирования текущей единицы прогнозирования.
Кодер 1420 информации движения может кодировать информацию опорного изображения, информацию направления прогнозирования и значение разности между прогнозным вектором движения и исходным вектором движения текущей единицы прогнозирования, в дополнение к индексу прогнозного вектора движения и может добавлять кодированную информацию в поток битов.
Когда сторона кодирования получает фиксированное число фрагментов информации движения возможных вариантов по предварительно определенному правилу и передает информацию индекса, указывающую один фрагмент информации движения из числа фрагментов информации движения возможных вариантов, сторона декодирования может формировать фиксированное число фрагментов информации движения возможных вариантов по правилу, идентичному правилу для стороны кодирования, и может определять информацию движения текущей единицы прогнозирования посредством использования передаваемой информации индекса. Аналогично вышеописанному примеру, когда информация движения соответствует прогнозному вектору движения, сторона декодирования может получать индекс, указывающий прогнозный вектор движения, и значение разности между вектором движения и прогнозным вектором движения из потока битов, и может восстанавливать вектор движения текущей единицы прогнозирования посредством суммирования значения разности с прогнозным вектором движения, указываемым посредством индекса прогнозного вектора движения. Помимо этого, сторона декодирования может формировать прогнозное значение текущей единицы прогнозирования посредством использования восстановленного вектора движения и информации опорного изображения и информации направления прогнозирования (направления L0 и L1), которые получаются из потока битов.
Фиг. 15 является блок-схемой модуля 1410 формирования информации движения возможного варианта по фиг. 14, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 15, модуль 1410 формирования информации движения возможного варианта включает в себя модуль 1510 формирования пространственной информации движения возможных вариантов, модуль 1520 формирования временной информации движения возможного варианта, модуль 1530 удаления избыточности и модуль 1540 формирования информации движения дополнительных возможных вариантов.
Модуль 1510 формирования пространственной информации движения возможных вариантов формирует информацию движения возможного варианта посредством использования информации движения единиц прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования. Подробно, модуль 1510 формирования пространственной информации движения возможных вариантов включает в себя модуль 1511 формирования информации движения верхнего возможного варианта, который последовательно выполняет поиск в смежных единицах прогнозирования, размещенных сверху от текущей единицы прогнозирования, в предварительно определенном порядке, чтобы получать информацию движения, и модуль 1512 формирования информации движения левого возможного варианта, который последовательно выполняет поиск в смежных единицах прогнозирования, размещенных слева от текущей единицы прогнозирования, в предварительно определенном порядке, чтобы получать информацию движения.
Фиг. 16 иллюстрирует смежные единицы прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, согласно варианту осуществления настоящего изобретения. Настоящее изобретение не ограничено случаем, показанным на фиг. 16. Например, смежные единицы прогнозирования различных пространственных местоположений могут быть использованы в качестве смежных единиц прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, используемой для того, чтобы прогнозировать информацию движения текущей единицы прогнозирования.
Ссылаясь на фиг. 16, модуль 1510 формирования пространственной информации движения возможных вариантов выполняет поиск в левой нижней смежной единице A0 1621 прогнозирования, размещенной слева снизу от текущей единицы 1610 прогнозирования, и смежной слева снизу единице A1 1622 прогнозирования, размещенной сверху от левой нижней смежной единицы A0 1621 прогнозирования, из числа смежных единиц прогнозирования, размещенных слева от текущей единицы 1610 прогнозирования, в предварительно определенном порядке сканирования, и определяет информацию движения первой единицы прогнозирования, имеющей доступную информацию движения, в которой сначала выполняется поиск, в качестве информации движения левого возможного варианта, из числа левой нижней смежной единицы A0 1621 прогнозирования и смежной слева снизу единицы A1 1622 прогнозирования. Помимо этого, модуль 1510 формирования пространственной информации движения возможных вариантов выполняет поиск в смежной единице B0 1631 прогнозирования, размещенной сверху справа от текущей единицы 1610 прогнозирования, смежной единице B1 1632 прогнозирования, размещенной слева от смежной единицы B0 1631 прогнозирования, и смежной единице B2 1633 прогнозирования, размещенной сверху слева от текущей единицы 1610 прогнозирования, из числа смежных единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования 1610, и определяет информацию движения единицы прогнозирования, имеющей доступную информацию движения, в которой сначала выполняется поиск, в качестве информации движения верхнего возможного варианта. Аналогично, модуль 1510 формирования пространственной информации движения возможных вариантов не выполняет поиск во всех единицах прогнозирования, размещенных вокруг текущей единицы 1610 прогнозирования, и выполняет поиск в смежных единицах прогнозирования по умолчанию, т.е. в смежных единицах A0, A1, B0, B1 и B2 прогнозирования, чтобы получать информацию движения, за счет этого уменьшая сложность вычисления. Как описано выше, число и местоположения смежных единиц прогнозирования, в которых выполняется поиск, чтобы получать пространственную информацию движения возможного варианта, могут быть изменены. Тем не менее, для восстановления посредством стороны декодирования информации движения текущей единицы прогнозирования, число и местоположения смежных единиц прогнозирования, в которых выполняется поиск, чтобы получать пространственную информацию движения возможного варианта на стороне кодирования и стороне декодирования, могут быть заранее заданы.
В качестве примера процесса для определения информации движения, описывается процесс для определения прогнозного вектора движения для вектора движения текущей единицы прогнозирования из смежных единиц прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования.
Ссылаясь на фиг. 15 и 16, модуль 1512 формирования информации движения левого возможного варианта последовательно проверяет то, доступны или нет векторы движения левой нижней смежной единицы A0 1621 прогнозирования и смежной слева снизу единицы A1 1622 прогнозирования, и определяет вектор движения смежной единицы прогнозирования, имеющей доступный вектор движения, в качестве вектора движения левого возможного варианта. Здесь, доступность вектора движения означает то, имеет или нет смежная единица прогнозирования вектор движения, указывающий идентичное опорное изображение, в идентичном списке опорных изображений относительно текущей единицы прогнозирования. Например, когда вектор движения текущей единицы 1610 прогнозирования представляет собой вектор движения, указывающий опорное изображение (L0R0-изображение), имеющее опорный индекс R0 в списке L0, если левая нижняя смежная единица A0 1621 прогнозирования является единицей прогнозирования, в отношении которой выполняется внутреннее прогнозирование, или имеет вектор движения, указывающий опорное изображение, включенное в отличающийся список опорных изображений относительно текущей единицы 1610 прогнозирования, или имеет вектор движения, указывающий отличающееся опорное изображение, включенное в идентичное опорное изображение относительно текущей единицы 1610 прогнозирования, определяется то, что левая нижняя смежная единица A0 1621 прогнозирования не имеет доступного вектора движения. Если левая более низкая смежная единица A1 1622 прогнозирования имеет вектор движения, указывающий идентичное изображение в идентичном списке опорных изображений относительно текущей единицы 1610 прогнозирования, вектор движения смежной слева снизу единицы A1 1622 прогнозирования определяется в качестве вектора движения левого возможного варианта.
Аналогично, модуль 1511 формирования информации движения верхнего возможного варианта последовательно проверяет то, доступны или нет векторы движения смежной единицы B0 1631 прогнозирования, смежной единицы B1 1632 прогнозирования и смежной единицы B2 1633 прогнозирования, и определяет вектор движения смежной единицы прогнозирования, указывающий идентичное опорное изображение в идентичном списке опорных изображений относительно текущей единицы 1610 прогнозирования, в качестве вектора движения верхнего возможного варианта.
Когда смежные единицы прогнозирования, имеющие доступный вектор движения, не существуют из числа смежных единиц прогнозирования, модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор движения смежной единицы прогнозирования, указывающий отличающееся опорное изображение идентичного списка опорных изображений относительно текущей единицы 1610 прогнозирования, или вектор движения смежной единицы прогнозирования, указывающий опорное изображение, включенное в отличающийся список опорных изображений относительно текущей единицы 1610 прогнозирования, и может использовать масштабированный вектор движения в качестве возможного варианта прогнозного вектора движения текущей единицы 1610 прогнозирования.
Фиг. 17A является справочной схемой для пояснения процесса для определения возможного варианта масштабированного пространственного прогнозного вектора движения, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 17A, вектор MVL0_Cur движения текущей единицы 1731 прогнозирования указывает L0R0-изображение 1720, которое является опорным изображением, имеющим опорный индекс R0 в списке L0, левая нижняя смежная единица A0 1621 прогнозирования имеет прогнозное движение, в отношении которого выполняется внутреннее прогнозирование, левая более низкая смежная единица A1 1622 прогнозирования имеет вектор mvL1_A1 движения, указывающий L1R0-изображение 1740, которое является опорным изображением, имеющим опорный индекс R0 в списке L1, смежная единица B0 1631 прогнозирования имеет единицу прогнозирования, в отношении которой выполняется внутреннее прогнозирование, смежная единица B1 1632 прогнозирования имеет вектор mvL1_B1 движения, указывающий L1R1-изображение 1750, которое является опорным изображением, имеющим опорный индекс R1 в списке L1, и смежная единица B2 1633 прогнозирования имеет вектор mvL0_B2 движения, указывающий L0R1-изображение 1710, которое является опорным изображением, имеющим опорный индекс R1 в списке L0. На фиг. 17A, единицы прогнозирования из числа смежных единиц прогнозирования относительно текущей единицы 1731 прогнозирования не имеют вектор движения, указывающий L0R0-изображение 1720, идентичный вектору MVL0_Cur движения текущей единицы 1731 прогнозирования. Когда смежная единица прогнозирования, имеющая вектор движения, указывающий опорное изображение, идентичное опорному изображению, указываемому посредством вектора движения текущей единицы 1731 прогнозирования, не существует из числа смежных единиц прогнозирования, модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор движения единицы прогнозирования, в отношении которой выполняется внешнее прогнозирование, из числа смежных единиц прогнозирования, на основе временного расстояния между опорным изображением, указываемым посредством вектора движения единицы прогнозирования, в отношении которой выполняется внешнее прогнозирование, и опорным изображением, указываемым посредством вектора движения текущей единицы прогнозирования, и может суммировать масштабированный вектор движения с вектором движения возможного варианта. Иными словами, модуль 1510 формирования пространственной информации движения возможных вариантов может суммировать вектор движения смежной единицы прогнозирования, указывающий опорное изображение, имеющее отличающийся опорный индекс в идентичном списке опорных изображений относительно текущей единицы 1731 прогнозирования, из числа векторов движения смежной единицы прогнозирования с вектором движения возможного варианта. Помимо этого, когда вектор движения смежной единицы прогнозирования, указывающий опорное изображение, имеющее отличающийся опорный индекс в идентичном списке опорных изображений относительно текущей единицы 1731 прогнозирования, не существует из числа векторов движения смежной единицы прогнозирования, модуль 1510 формирования пространственной информации движения возможных вариантов может суммировать вектор движения смежной единицы прогнозирования, указывающий опорное изображение в отличающемся списке опорных изображений относительно текущей единицы 1731 прогнозирования, с вектором движения возможного варианта.
Например, модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор mvL1_A1 движения смежной слева снизу единицы A1 1622 прогнозирования, за исключением левой нижней смежной единицы A0 1621 прогнозирования, в отношении которой выполняется внутреннее прогнозирование, с учетом временного расстояния между текущим изображением 1730 и L0R0-изображением 1720, указываемого посредством вектора MVL0_Cur движения текущей единицы 1731 прогнозирования, и временного расстояния между текущим изображением 1730 и L1R0-изображением 1740, указываемого посредством вектора mvL1_A1 движения смежной слева снизу единицы A1 1622 прогнозирования, и может определять масштабированный вектор mvL1_A1′ движения в качестве вектора движения левого возможного варианта.
Помимо этого, модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор mvL0_B2 движения смежной единицы B2 1633 прогнозирования, указывающий L0R1-изображение 1710, которое является опорным изображением, имеющим отличающийся опорный индекс в идентичном опорном изображении, в качестве вектора MVL0_Cur движения текущей единицы 1731 прогнозирования вместо вектора mvL1_B1 движения смежной единицы B1 1632 прогнозирования, указывающего L1R1-изображение 1750, которое является опорным изображением в отличающемся списке опорных изображений относительно текущей единицы 1731 прогнозирования, и определять масштабированный вектор mvL0_B2′ движения в качестве вектора движения верхнего возможного варианта. Иными словами, когда модуль 1510 формирования пространственной информации движения возможных вариантов определяет вектор движения смежной единицы прогнозирования, которая подвергается масштабированию, модуль 1510 формирования пространственной информации движения возможных вариантов может определять вектор движения смежной единицы прогнозирования, указывающий опорное изображение, включенное в идентичный список опорных изображений, в качестве вектора движения текущей единицы прогнозирования. Затем, когда вектор движения смежной единицы прогнозирования, указывающий опорное изображение, включенное в идентичный список опорных изображений относительно текущей единицы прогнозирования, не существует, модуль 1510 формирования пространственной информации движения возможных вариантов может определять вектор движения смежной единицы прогнозирования, указывающий опорное изображение, включенное в отличающийся список опорных изображений относительно текущей единицы прогнозирования в качестве вектора движения, который подвергается масштабированию. Модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор mvL0_B2 движения смежной единицы B2 прогнозирования с учетом временного расстояния между текущим изображением 1730 и L0R0-изображением 1720, указываемого посредством вектора MVL0_Cur движения текущей единицы 1731 прогнозирования, и временного расстояния между текущим изображением 1730 и L0R1-изображением 1710, указываемого посредством вектора mvL0_B2 движения смежной единицы B2 1633 прогнозирования, и может определять масштабированный вектор mvL0_B2′ движения в качестве вектора движения верхнего возможного варианта.
Фиг. 18 является справочной схемой для пояснения способа формирования возможного варианта прогнозного вектора движения текущей единицы прогнозирования посредством масштабирования вектора движения смежной единицы прогнозирования, согласно варианту осуществления настоящего изобретения.
Как описано выше, когда идентичный вектор движения относительно текущей единицы прогнозирования, т.е. вектор движения, указывающий опорное изображение, имеющее идентичный опорный индекс, включенный в идентичный список опорных изображений относительно текущей единицы прогнозирования, не существует из числа смежных единиц прогнозирования относительно текущей единицы прогнозирования, может масштабироваться вектор MV(Bn) движения смежной единицы прогнозирования (единицы Bn прогнозирования по фиг. 18), обращающийся к отличающемуся опорному изображению в идентичном списке опорных изображений относительно текущей единицы прогнозирования, или вектор MV(An) движения смежной единицы прогнозирования (единицы An прогнозирования по фиг. 18), обращающийся к опорному изображению, включенному в отличающийся список опорных изображений относительно текущей единицы прогнозирования, и масштабированный вектор движения может суммироваться с возможным вариантом прогнозного вектора движения текущей единицы прогнозирования. Подробно, когда временное расстояние d(cur) между текущим изображением и опорным изображением (L0R0-изображением), указываемое посредством вектора MVL0_Cur движения текущей единицы прогнозирования, составляет d(cur), и временное расстояние между текущим изображением и опорным изображением (L0R1-изображением), указываемое посредством вектора MV(Bn) движения единицы Bn прогнозирования, составляет d(Bn), вектор MV(Bn) движения единицы Bn прогнозирования может масштабироваться согласно уравнению: MV(Bn)′=MV(Bn)*{d(cur)/d(Bn)}, и масштабированный вектор MV(Bn)′ движения может суммироваться с возможным вариантом прогнозного вектора движения текущей единицы прогнозирования. Аналогично, когда временное расстояние между текущим изображением и опорным изображением (L1R1-изображением), указываемое посредством вектора MV(An) движения единицы An прогнозирования, составляет d(An), вектор MV(An) движения единицы An прогнозирования может масштабироваться согласно уравнению: MV(An)′=MV(An)*{d(cur)/d}, и масштабированный вектор MV(An)′ движения может суммироваться с возможным вариантом прогнозного вектора движения текущей единицы прогнозирования.
То, включается или нет масштабированный вектор движения в пространственный возможный вариант вектора движения, может быть определено с учетом предварительно определенного условия. Например, модуль 1510 формирования пространственной информации движения возможных вариантов может масштабировать вектор движения единицы прогнозирования, в отношении которой выполняется внешнее прогнозирование, из числа смежных единиц B0, B1 и B2 прогнозирования и может суммировать масштабированный вектор движения с верхним возможным вариантом вектора движения только тогда, когда внутреннее прогнозирование выполняется в отношении одной из смежных единиц A0 и A1 прогнозирования, смежных слева от текущей единицы прогнозирования. Другими словами, то, суммируется или нет масштабированный вектор движения с возможным вариантом пространственного прогнозного вектора движения, может избирательно выполняться согласно тому, удовлетворяется или нет предварительно определенное условие. Предварительно определенное условие может быть сформулировано различными способами и не ограничивается вышеописанным примером.
В вышеописанном примере, когда модуль 1510 формирования пространственной информации движения возможных вариантов выполняет поиск в верхних единицах прогнозирования и левых единицах прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, модуль 1510 формирования пространственной информации движения возможных вариантов выполняет поиск в левых смежных единицах прогнозирования в порядке A0->A1 или выполняет поиск в верхних смежных единицах прогнозирования в порядке B0->B1->B2. Тем не менее, настоящее изобретение не ограничено этим порядком сканирования. Альтернативно, модуль 1510 формирования пространственной информации движения возможных вариантов может определять смежные единицы прогнозирования в порядке, например, A1->B1->B0->A0->B2 без такого базиса, как верхняя сторона или левая сторона, и может определять то, используется или нет информация движения каждой смежной единицы прогнозирования в качестве информации движения текущей единицы прогнозирования.
Помимо этого, когда модуль 1510 формирования пространственной информации движения возможных вариантов формирует пространственную информацию движения возможного варианта, модуль 1510 формирования пространственной информации движения возможных вариантов может проверять то, доступна ли информация движения всех единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования и слева от текущей единицы прогнозирования, например, всех смежных единиц A0, A1, B0, B1 и B2 прогнозирования, вообще без порядка сканирования вместо выполнения поиска в смежных единицах прогнозирования в предварительно определенном порядке сканирования, и затем может добавлять все фрагменты доступной информации движения из числа информации движения смежных единиц A0, A1, B0, B1 и B2 прогнозирования в пространственную информацию движения возможного варианта.
Снова ссылаясь на фиг. 15, модуль 1520 формирования временной информации движения возможного варианта формирует временную информацию движения возможного варианта посредством использования информации движения единицы движения, которая временно совместно размещается с текущей единицей прогнозирования, т.е. информации движения единицы движения, которая совместно размещается на основе местоположения текущей единицы прогнозирования из числа единиц прогнозирования предыдущего изображения, которое заранее кодируется.
Фиг. 19 является справочной схемой для пояснения процесса формирования временной информации движения возможного варианта, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 15 и 19, модуль 1520 формирования временной информации движения возможного варианта может формировать временную информацию движения возможного варианта посредством использования информации движения единицы 1924 прогнозирования, размещенной снизу справа от единицы 1921 прогнозирования опорного изображения 1920, имеющей местоположение, идентичное местоположению текущей единицы 1911 прогнозирования из числа единиц прогнозирования опорного изображения 1920, которое заранее кодируется в текущее изображение 1910. Например, когда информация движения представляет собой прогнозный вектор движения, модуль 1520 формирования временной информации движения возможного варианта может формировать временной возможный вариант вектора движения посредством масштабирования вектора движения единицы 1924 прогнозирования. Масштабирование временного прогнозного вектора движения может быть выполнено на основе временного расстояния между L0R0-изображением 1920 и опорным L1R0-изображением 1930 и временного расстояния между текущим изображением 1910 и опорным L1R0-изображением 1930, как описано со ссылкой на фиг. 18.
Если единица 1924 прогнозирования, размещенная снизу справа от единицы 1921 прогнозирования, внутренне прогнозируется таким образом, что вектор движения единицы 1924 прогнозирования недоступен, модуль 1520 формирования временной информации движения возможного варианта может масштабировать вектор движения единицы 1921 прогнозирования, которая содержит точку C′ 1922 опорного изображения 1920 в качестве местоположения, идентичного местоположению точки C 1912 центральной точки текущей единицы 1911 прогнозирования, и может формировать временной прогнозный вектор движения. Иными словами, модуль 1520 формирования временной информации движения возможного варианта может сначала проверять то, доступна ли информация движения единицы прогнозирования, размещенной снизу справа от единицы прогнозирования, имеющей местоположение, идентичное местоположению текущей единицы прогнозирования из числа единиц прогнозирования предыдущего изображения, может последовательно определять то, доступна ли информация движения единицы прогнозирования, содержащей точку, имеющую местоположение, идентичное местоположению центральной точки текущей единицы прогнозирования, и затем может добавлять доступную информацию движения единицы прогнозирования во временную информацию движения возможного варианта. Число и местоположения единиц прогнозирования предыдущего изображения, в котором выполняется поиск, чтобы формировать временную информацию движения возможного варианта, могут не быть ограничены случаем, показанным на фиг. 19, и могут быть изменены различными способами. Помимо этого, когда модуль 1520 формирования временной информации движения возможного варианта формирует временную информацию движения возможного варианта, модуль 1520 формирования временной информации движения возможного варианта может не проверять то, доступна ли информация движения единиц прогнозирования предыдущего изображения в предварительно определенном порядке, может проверять как то, доступна ли информация движения единицы прогнозирования, размещенной снизу справа от единицы прогнозирования, имеющей местоположение, идентичное местоположению текущей единицы прогнозирования, так и то, доступна ли информация движения единицы прогнозирования, содержащей точку, имеющую местоположение, идентичное местоположению центральной точки текущей единицы прогнозирования, и затем может добавлять все фрагменты доступной информации движения единицы прогнозирования предыдущего изображения во временную информацию движения возможного варианта.
Снова ссылаясь на фиг. 15, модуль 1530 удаления избыточности может определять то, являются ли пространственная информация движения возможного варианта и временная информацию движения возможного варианта идентичными друг другу, и может удалять избыточную информацию движения из информации движения возможных вариантов. Модуль 1530 удаления избыточности может опускаться, чтобы уменьшать сложность вычисления. Иными словами, может пропускаться процесс проверки избыточности.
Число фрагментов информации движения возможных вариантов, сформированных посредством модуля 1510 формирования пространственной информации движения возможных вариантов и модуля 1520 формирования временной информации движения возможного варианта, может быть меньше предварительно определенного числа n. В вышеописанном примере, когда внутреннее прогнозирование выполняется в отношении всех смежных единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования или слева от текущей единицы прогнозирования или когда внутреннее прогнозирование выполняется в отношении единиц прогнозирования, размещенных в предварительно определенном местоположении предыдущих изображений, в которых выполняется поиск посредством модуля 1520 формирования временной информации движения возможного варианта, число фрагментов сформированной информации движения возможных вариантов может быть меньше n.
Когда число фрагментов сформированной информации движения возможных вариантов, сформированных посредством модуля 1510 формирования пространственной информации движения возможных вариантов и модуля 1520 формирования временной информации движения возможного варианта, меньше предварительно определенного числа n, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию движения дополнительного возможного варианта посредством использования информации движения единиц пространственного прогнозирования и доступной информации движения единиц временного прогнозирования, так что общее число фрагментов информации движения возможных вариантов может составлять n.
В дальнейшем в этом документе описываются различные способы формирования информации движения дополнительного возможного варианта через модуль 1540 формирования информации движения дополнительных возможных вариантов.
Когда модуль 1510 формирования пространственной информации движения возможных вариантов последовательно проверяет то, доступны или нет смежные единицы прогнозирования относительно текущей единицы прогнозирования, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию движения дополнительного возможного варианта посредством использования информации движения единицы прогнозирования, которая проверяется после доступной смежной единицы прогнозирования, которая проверяется сначала.
Фиг. 17B является справочной схемой для пояснения процесса для формирования информации движения дополнительного возможного варианта посредством использования единицы прогнозирования, которая пространственно совместно размещается с текущей единицей прогнозирования, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 17B, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию движения единицы прогнозирования из смежных единиц A0, A1, B0, B1 и B2 прогнозирования, которые имеют доступную информацию движения, но не включаются в информацию движения возможного варианта вследствие проверки после другой единицы прогнозирования, которая заранее сканируется в порядке сканирования, в качестве информации движения дополнительного возможного варианта.
Например, предполагается, что информация движения левого возможного варианта, сформированная посредством модуля 1510 формирования пространственной информации движения возможных вариантов, представляет собой "слева", информация движения верхнего возможного варианта, сформированная посредством модуля 1510 формирования пространственной информации движения возможных вариантов, представляет собой "выше", и временная информация движения возможного варианта, сформированная посредством модуля 1520 формирования временной информации движения возможного варианта, представляет собой "временной". Модуль 1540 формирования информации движения дополнительных возможных вариантов определяет то, доступна ли информация движения возможного варианта (т.е. "слева", "выше" и "временной"), т.е. существует ли информация движения возможного варианта, и определяет то, что число фрагментов информации движения возможных вариантов составляет предварительно определенное число 3 (которое соответствует n=3). Помимо этого, когда число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию движения дополнительного возможного варианта посредством использования информации движения единицы прогнозирования, которая проверяется после доступной смежной единицы прогнозирования, которая заранее проверяется.
Как описано выше, когда модуль 1510 формирования пространственной информации движения возможных вариантов формирует пространственную информацию движения возможного варианта, модуль 1510 формирования пространственной информации движения возможных вариантов может проверять то, доступна ли информация движения всех единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования и слева от текущей единицы прогнозирования, например, всех смежных единиц A0, A1, B0, B1 и B2 прогнозирования, вообще без порядка сканирования, и затем может добавлять все фрагменты доступной информации движения из числа информации движения смежных единиц A0, A1, B0, B1 и B2 прогнозирования в пространственную информацию движения возможного варианта. В этом случае, когда число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, например, 5, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию движения дополнительного возможного варианта посредством использования информации движения доступной единицы прогнозирования.
Предполагается, что информация движения левого возможного варианта не существует, и информация движения смежных единиц B0, B1 и B2 прогнозирования доступна. Как показано на фиг. 17B, информация движения смежной единицы B0 прогнозирования, которая заранее проверяется в порядке сканирования, выбирается в качестве информации движения верхнего возможного варианта, и информация движения смежных единиц B1 и B2 прогнозирования не включается в информацию движения по умолчанию. Когда общее число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, поскольку смежные единицы A0 и A1 прогнозирования не имеют доступной информации движения, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию движения смежной единицы B1 или B2 прогнозирования в информацию движения дополнительного возможного варианта.
Аналогично, когда информация движения верхнего возможного варианта не существует, и информация движения левых смежных единиц A0 и A1 прогнозирования доступна, информация движения смежной единицы A0 прогнозирования, которая заранее проверяется, выбирается в качестве левой информации движения, а информация движения смежной единицы A1 прогнозирования, которая проверяется после смежной единицы A1 прогнозирования, не включается в информацию движения по умолчанию. Тем не менее, когда число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, поскольку смежные единицы B0, B1 и B2 прогнозирования не имеют доступной информации движения, информация движения смежной единицы A1 прогнозирования может быть включена в информацию движения дополнительного возможного варианта.
Согласно другому варианту осуществления настоящего изобретения, когда модуль 1520 формирования временной информации движения возможного варианта последовательно проверяет то, доступны ли единицы прогнозирования предыдущего изображения, которые временно совместно размещаются с текущей единицей прогнозирования, модуль 1540 формирования информации движения дополнительных возможных вариантов может масштабировать информацию движения единицы прогнозирования предыдущего изображения, имеющей информацию движения, из числа единиц прогнозирования оставшегося предыдущего изображения за исключением первого предыдущего изображения, имеющего доступную информацию движения, и может добавлять масштабированную информацию движения в информацию движения дополнительного возможного варианта.
Снова ссылаясь на фиг. 19, модуль 1520 формирования временной информации движения возможного варианта проверяет то, доступна ли информация движения единицы 1924 прогнозирования, размещенной справа снизу от единицы 1921 прогнозирования опорного изображения 1920, имеющей местоположение, соответствующее местоположению текущей единицы 1911 прогнозирования, из числа единиц прогнозирования опорного изображения 1920, которое заранее кодируется в текущее изображение 1910, и затем определяет то, доступна ли информация движения единицы 1921 прогнозирования, которая содержит точку C′ 1922 опорного изображения 1920, в качестве местоположения, идентичного местоположению точки C 1912 центральной точки текущей единицы 1911 прогнозирования. Если единица 1924 прогнозирования, размещенная справа снизу от единицы 1921 прогнозирования, имеет доступную информацию движения, информация движения единицы 1924 прогнозирования, размещенной справа снизу от единицы 1921 прогнозирования, включается в информацию движения возможного варианта по умолчанию, и информация движения единицы 1921 прогнозирования, которая содержит точку C′ 1922 опорного изображения 1920, в качестве местоположения, идентичного местоположению точки C 1912 не включается в информацию движения возможного варианта по умолчанию. Когда общее число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию движения единицы 1921 прогнозирования, которая содержит точку C′ 1922 опорного изображения 1920 в качестве местоположения, идентичного местоположению точки C 1912, в информацию движения дополнительного возможного варианта. Иными словами, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию движения единицы прогнозирования, которая не включается в информацию движения возможного варианта по умолчанию из числа единиц прогнозирования предыдущего изображения, в информацию движения дополнительного возможного варианта.
Согласно другому варианту осуществления настоящего изобретения, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию движения, имеющую предварительно определенное значение, в информацию движения дополнительного возможного варианта. Например, когда информация движения представляет собой прогнозный вектор движения, если число фрагментов информации движения возможных вариантов меньше предварительно определенного числа, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать вектор движения, имеющий предварительно определенное значение компоненты, к примеру, (0,0), (0,1) или (1,0), с вектором движения возможного варианта.
Согласно другому варианту осуществления настоящего изобретения, когда доступная информация движения единиц пространственного прогнозирования и единиц временного прогнозирования содержит информацию двунаправленного вектора движения прогнозирования направлений L0 и L1, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать или вычитать предварительно определенное смещение с и из вектора движения прогнозирования направления L0 и вектора движения прогнозирования направления L1, чтобы формировать информацию движения дополнительного возможного варианта.
Фиг. 20A и 20B являются схемами для пояснения процесса формирования информации движения дополнительного возможного варианта посредством использования информации движения доступных единиц прогнозирования, согласно другому варианту осуществления настоящего изобретения. Фиг. 21A и 21B являются схемами для описания позиционной взаимосвязи между текущим изображением и опорным изображением, когда формируется информации движения дополнительного возможного варианта по фиг. 20A и 20B, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 20A и 21A, когда смежная единица B1 прогнозирования из числа единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования, имеет вектор mvL0_B1 движения, указывающий L0R0-изображение 2110, которое является опорным изображением прогнозирования направления L0, и вектор mvL1_B1 движения, указывающий L1R0-изображение 2120, которое является опорным изображением прогнозирования направления L1, и текущее изображение 2100 размещается между L0R0-изображением 2110 и L1R0-изображением 2120, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать предварительно определенные смещения, имеющие идентичное абсолютное значение и различные знаки, с вектором mvL0_B1 движения для прогнозирования направления L0 и вектором mvL1_B1 движения для прогнозирования направления L1, чтобы формировать новый вектор движения, и может добавлять новый вектор движения в информацию движения дополнительного возможного варианта. Иными словами, как показано на фиг. 20A, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать предварительно определенное смещение mv_offset с вектором mvL0_B1 движения для прогнозирования направления L0, так что сформированный вектор mvL0′ движения может быть включен в вектор движения дополнительного возможного варианта прогнозирования направления L0, и может вычитать смещение mv_offset из вектора mvL1_B1 движения для прогнозирования направления L1, так что сформированный вектор mvL1′ движения может быть включен в вектор движения дополнительного возможного варианта прогнозирования направления L1.
Когда вектор List0MV движения для направления L0, который включается в информацию двунаправленного движения, полученную из доступной смежной единицы прогнозирования, имеет значение (mx0, my0), и вектор List1MV движения для направления L1 имеет значение (mx1, my1), если текущее изображение размещается между опорным изображением прогнозирования направления L1 и опорным изображением прогнозирования направления L0, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать и вычитать предварительно определенное смещение с и из вектора движения прогнозирования направления L0 и вектора движения прогнозирования направления L1, чтобы формировать информацию движения дополнительного возможного варианта следующим образом.
List0MV=(mx0+offset, my0), List1MV=(mx0-offset, my0);
List0MV=(mx0-offset, my0), List1MV=(mx0+offset, my0);
List0MV=(mx0, my0+offset), List1MV=(mx0, my0-offset);
List0MV=(mx0, my0-offset), List1MV=(mx0, my0+offset);
List0MV=(mx0+offset, my0+offset), List1MV=(mx0-offset, my0-offset);
List0MV=(mx0+offset, my0-offset), List1MV=(mx0-offset, my0+offset);
List0MV=(mx0-offset, my0+offset), List1MV=(mx0+offset, my0-offset); и
List0MV=(mx0-offset, my0-offset), List1MV=(mx0+offset, my0+offset)
Ссылаясь на фиг. 20B и 21B, когда смежная единица B1 прогнозирования из числа единиц прогнозирования, размещенных сверху от текущей единицы прогнозирования, имеет вектор mvL1R0_B1 движения, указывающий L1R0-изображение 2140, которое является опорным изображением направления L0, и вектор mvL1R1_B1 движения, указывающий L1R1-изображение 2150, которое является опорным изображением направления L1, если L1R0-изображение 2140 и L1R1-изображение 2150 размещаются в идентичных местоположениях относительно текущего изображения 2130, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать или вычитать предварительно определенное смещение с и из вектора mvL1R0_B1 движения для прогнозирования направления L0 и вектора mvL1R1_B1 движения для прогнозирования направления L1, чтобы формировать новый вектор движения, и может добавлять сформированный новый вектор движения в информацию движения дополнительного возможного варианта. Иными словами, как показано на фиг. 20B, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать вектор mvL0′ движения, сформированный посредством суммирования смещения mv_offset с вектором mvL1R0_B1 движения для прогнозирования направления L0, с вектором движения дополнительного возможного варианта прогнозирования направления L0, и может суммировать вектор mvL1′ движения, сформированный посредством суммирования смещения mv_offset с вектором mvL1R1_B1 движения для прогнозирования направления L1, с вектором движения дополнительного возможного варианта направления L1.
Когда вектор List0MV движения для направления L0, который получается из доступной смежной единицы прогнозирования, имеет значение (mx0, my0), вектор List1MV движения для направления L1 имеет значение (mx1, my1), и опорное изображение направления L1 и опорное изображение направления L0 размещаются в соответствующих местоположениях относительно текущего изображения, модуль 1540 формирования информации движения дополнительных возможных вариантов может суммировать и вычитать предварительно определенное смещение с и из вектора движения прогнозирования направления L0 и вектора движения прогнозирования направления L1, чтобы формировать информацию движения дополнительного возможного варианта следующим образом.
List0MV=(mx0+offset, my0), List1MV=(mx0+offset, my0);
List0MV=(mx0-offset, my0), List1MV=(mx0-offset, my0);
List0MV=(mx0, my0+offset), List1MV=(mx0, my0+offset);
List0MV=(mx0, my0-offset), List1MV=(mx0, my0-offset);
List0MV=(mx0+offset, my0+offset), List1MV=(mx0+offset, my0+offset);
List0MV=(mx0+offset, my0-offset), List1MV=(mx0+offset, my0-offset);
List0MV=(mx0-offset, my0+offset), List1MV=(mx0-offset, my0+offset); и
List0MV=(mx0-offset, my0-offset), List1MV=(mx0-offset, my0-offset)
Согласно другому варианту осуществления настоящего изобретения, модуль 1540 формирования информации движения дополнительных возможных вариантов может изменять доступную информацию движения единиц пространственного прогнозирования и единиц временного прогнозирования, чтобы формировать информацию движения дополнительного возможного варианта. Когда доступная информация движения единиц пространственного прогнозирования и единиц временного прогнозирования включает в себя информацию двунаправленного вектора движения для направлений L0 и L1, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять однонаправленную информацию, которая формируется посредством разбиения прогнозирования направлений L0 и L1, в информацию движения дополнительного возможного варианта. Например, предполагается, что информация двунаправленного движения, полученная из доступных единиц пространственного прогнозирования и единиц временного прогнозирования, включает в себя информацию движения для направления L0, которая включает в себя вектор List0MV движения для направления L0 и индекс List0REF опорного изображения, указывающий опорное изображение направления L0, и информацию движения для направления L1, которая включает в себя вектор List1MV движения для направления L1 и индекс List1REF опорного изображения, указывающий опорное изображение направления L1. Модуль 1540 формирования информации движения дополнительных возможных вариантов может разделять информацию двунаправленного движения таким образом, чтобы формировать два фрагмента информации однонаправленного движения, и добавлять два фрагмента информации однонаправленного движения в информацию движения дополнительного возможного варианта. Иными словами, модуль 1540 формирования информации движения дополнительных возможных вариантов может разделять информацию двунаправленного движения на информацию однонаправленного движения для направления L0, включающую в себя {вектор List0MV движения для направления L0 и индекс List0REF опорного изображения, указывающий опорное изображение направления L0}, и информацию однонаправленного движения для направления L1, включающую в себя {вектор List1MV движения для направления L1 и индекс List1REF опорного изображения, указывающий опорное изображение направления L1}, и может добавлять информацию однонаправленного движения в информацию движения дополнительного возможного варианта.
Помимо этого, когда доступная информация движения единиц пространственного прогнозирования и единиц временного прогнозирования включает в себя информацию однонаправленного движения из информации движения для направления L0 и информации движения для направления L0, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию двунаправленного движения, сформированную посредством комбинирования информации однонаправленного движения для направлений L0 и L1, в информацию движения дополнительного возможного варианта. Например, когда информация однонаправленного движения для направления L0, которая включает в себя {вектор List0MV движения для направления L0 и индекс List0REF опорного изображения, указывающий опорное изображение направления L0}, и информация однонаправленного движения для направления L1, которая включает в себя {вектор List1MV движения для направления L1 и индекс List1REF опорного изображения, указывающий опорное изображение направления L1}, существуют в качестве полученных единиц прогнозирования информации движения, которые пространственно и временно совместно размещаются с текущей единицей прогнозирования, информация однонаправленного движения для направления L0 и информация однонаправленного движения для направления L1 комбинируются таким образом, что формируется информация двунаправленного движения, и сформированная информация двунаправленного движения может добавляться в информацию движения дополнительного возможного варианта.
Помимо этого, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять вектор движения, имеющий предварительно определенное значение и опорный индекс, в любую из информации однонаправленного движения для направления L0 и информации однонаправленного движения для направления L1, чтобы формировать информацию однонаправленного движения для различных направлений, так что полученная информация двунаправленного движения в информацию движения дополнительного возможного варианта. Например, когда только информация однонаправленного движения для направления L0, которая включает в себя {вектор List0MV движения для направления L0 и индекс List0REF опорного изображения, указывающий опорное изображение направления L0}, существует в качестве информации движения, полученной из единиц прогнозирования, которые пространственно и временно совместно размещаются с текущей единицей прогнозирования, модуль 1540 формирования информации движения дополнительных возможных вариантов может задавать вектор движения, имеющий предварительно определенное значение, к примеру, (0,0), в качестве вектора List1MV движения для направления L1, и может задавать индекс List1REF опорного изображения, указывающий опорное изображение направления L1, в качестве предварительно определенного значения 0, чтобы формировать информацию движения для направления L1, и может комбинировать сформированную информацию движения для направления L1 и существующую информацию движения для направления L0 таким образом, что сформированная информация двунаправленного движения включается в информацию движения дополнительного возможного варианта.
Модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать только информацию вектора движения из числа информации движения доступной единицы прогнозирования посредством использования доступной единицы прогнозирования и может отдельно задавать оставшуюся информацию опорного направления (направления прогнозирования) или индекс опорного изображения. В этом случае, когда модуль 1540 формирования информации движения дополнительных возможных вариантов формирует информацию движения дополнительного возможного варианта посредством использования информации движения доступной единицы прогнозирования, модуль 1540 формирования информации движения дополнительных возможных вариантов может формировать информацию опорного направления согласно типу слайса текущей единицы прогнозирования. Например, когда текущая единица прогнозирования включается в P-слайс, опорное направление, включенное в информацию движения дополнительного возможного варианта, задается в качестве направления L0. Когда текущая единица прогнозирования включается в B-слайс, опорное направление может задаваться в качестве двойного направления, включающего в себя прогнозирование для направлений L0 и L1. Помимо этого, модуль 1540 формирования информации движения дополнительных возможных вариантов может задавать индекс опорного изображения в рамках диапазона (0 ~ индекс опорного изображения доступной единицы прогнозирования) и может добавлять множество индексов опорных изображений в информацию движения дополнительного возможного варианта.
Когда модуль 1540 формирования информации движения дополнительных возможных вариантов формирует индекс опорного изображения, модуль 1540 формирования информации движения дополнительных возможных вариантов может использовать индекс опорного изображения, указывающий опорное изображение, имеющее наибольшую частоту из числа опорных изображений, включенных в информацию движения доступных единиц пространственного прогнозирования и единиц временного прогнозирования, или может использовать индекс опорного изображения, указывающий опорное изображение, к которому обращаются посредством ближайших смежных единиц прогнозирования относительно текущей единицы прогнозирования, вместо задания индекса опорного изображения, имеющего предварительно определенное значение, как описано выше.
Помимо этого, когда число фрагментов информации движения возможных вариантов по умолчанию, сформированных посредством модуля 1510 формирования пространственной информации движения возможных вариантов и модуля 1520 формирования временной информации движения возможного варианта, меньше предварительно определенного числа n, модуль 1540 формирования информации движения дополнительных возможных вариантов может опускать процесс для проверки того, дублируется ли информация движения дополнительного возможного варианта, включенная в информацию движения возможного варианта, так что общее число фрагментов информации движения возможных вариантов может составлять n. Иными словами, модуль 1540 формирования информации движения дополнительных возможных вариантов может добавлять информацию движения дополнительного возможного варианта, сформированную посредством изменения информации движения по умолчанию, в информацию движения возможного варианта, даже если информация движения дополнительного возможного варианта является идентичной информации движения по умолчанию.
Фиг. 22 является блок-схемой последовательности операций способа кодирования вектора движения, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 22, на этапе 2310, модуль 420 оценки движения выполняет прогнозирование движения в отношении текущей единицы прогнозирования, чтобы получать информацию движения относительно текущей единицы прогнозирования.
На этапе 2320, модуль 1410 формирования информации движения возможного варианта определяет то, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования. Как описано выше, модуль 1410 формирования информации движения возможного варианта проверяет то, доступна ли информация движения смежных единиц A0 и A1 прогнозирования, размещенных слева от текущей единицы прогнозирования, и информация движения смежных единиц B0, B1 и B2 прогнозирования, размещенных сверху от текущей единицы прогнозирования, и может добавлять информацию движения доступной смежной единицы прогнозирования в информацию движения возможного варианта по умолчанию. Помимо этого, модуль 1410 формирования информации движения возможного варианта проверяет то, доступна ли информация движения единиц прогнозирования предварительно определенного местоположения из числа единиц прогнозирования предыдущего изображения, и может добавлять информацию движения предыдущего изображения в информацию движения возможного варианта по умолчанию.
На этапе 2330, когда число фрагментов информации движения единиц пространственного прогнозирования и единиц временного прогнозирования меньше предварительно определенного числа n, модуль 1410 формирования информации движения возможного варианта может формировать информацию движения дополнительного возможного варианта посредством использования информации движения доступных единиц пространственного прогнозирования и единиц временного прогнозирования, так что общее число фрагментов информации движения возможных вариантов может составлять n.
На этапе 2340, кодер 1420 информации движения кодирует информацию движения текущей единицы прогнозирования посредством использования n фрагментов информации движения. Подробно, кодер 1420 информации движения определяет наиболее похожую информацию движения относительно информации движения текущей единицы прогнозирования из числа сформированной информации движения возможных вариантов и передает информацию индекса, указывающую определенную информацию движения. Например, когда информация движения представляет собой вектор движения, модуль 1410 формирования информации движения возможного варианта формирует возможные варианты прогнозных векторов движения текущей единицы прогнозирования, и кодер 1420 информации движения может кодировать информацию относительно значения индекса, указывающего наиболее похожий прогнозный вектор движения относительно вектора движения текущей единицы прогнозирования из числа возможных вариантов прогнозных векторов движения, и информацию относительно значения разности между вектором движения текущей единицы прогнозирования и прогнозным вектором движения.
Фиг. 23 является блок-схемой устройства 2400 декодирования векторов движения, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 23, устройство 2400 декодирования векторов движения включает в себя энтропийный декодер 2410, декодер 2420 информации движения и модуль 2430 формирования информации движения возможного варианта.
Энтропийный декодер 2410 извлекает информацию движения, используемую в текущей единице прогнозирования из информации движения возможных вариантов, из потока битов. Например, когда информация движения представляет собой вектор движения, энтропийный декодер 2410 извлекает индекс, указывающий информацию движения относительно индекса прогнозного вектора движения, значения разности между прогнозным вектором движения и исходным вектором движения, информации опорного изображения и информации направления прогнозирования.
Аналогично модулю 1410 формирования информации движения возможного варианта, показанному на фиг. 14A, модуль 2430 формирования информации движения возможного варианта получает информацию движения возможного варианта посредством использования информации движения смежных единиц прогнозирования, которые временно и пространственно совместно размещаются с текущей единицей прогнозирования, и формирует информацию движения дополнительного возможного варианта посредством использования информации движения единиц прогнозирования, которые пространственно и временно совместно размещаются с текущей единицей прогнозирования, так что число фрагментов информации движения возможных вариантов составляло n.
Декодер 2420 информации движения получает один фрагмент информации движения возможных вариантов, сформированный посредством модуля 2430 формирования информации движения возможного варианта, посредством использования индекса, указывающего информацию движения текущей единицы прогнозирования, полученную из потока битов. Как описано выше, когда информация движения представляет собой вектор движения, декодер 2420 информации движения получает один прогнозный вектор движения из числа возможных вариантов прогнозных векторов движения посредством использования индекса, указывающего прогнозный вектор движения, полученный из потока битов, извлекает информацию относительно значения разности между прогнозным вектором движения и исходным вектором движения из потока битов и затем суммирует значение разности и прогнозный вектор движения, чтобы восстанавливать вектор движения текущей единицы прогнозирования.
Фиг. 24 является блок-схемой последовательности операций способа декодирования информации движения, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 24, на этапе 2510, модуль 2430 формирования информации движения возможного варианта определяет то, доступна ли информация движения единиц пространственного прогнозирования, которые пространственно совместно размещаются с текущей единицей прогнозирования, и информация движения единиц временного прогнозирования, которые временно совместно размещаются с текущей единицей прогнозирования. На этапе 2520, в результате определения, когда число фрагментов доступной информации движения единиц пространственного прогнозирования и единиц временного прогнозирования меньше предварительно определенного числа n (где n является целым числом), модуль 2430 формирования информации движения возможного варианта формирует информацию движения дополнительного возможного варианта посредством использования доступной информации движения единиц пространственного прогнозирования и единиц временного прогнозирования, так что общее число фрагментов информации движения возможных вариантов может составлять n.
На этапе 2530, энтропийный декодер 2410 получает и выводит информацию индекса, указывающую информацию движения из числа n фрагментов информации движения возможных вариантов, из потока битов. На этапе 2540, декодер 2420 информации движения получает информацию движения текущей единицы прогнозирования посредством использования информации движения, указанной индексом. Как описано выше, когда информация движения представляет собой вектор движения, декодер 2420 информации движения получает один прогнозный вектор движения из числа возможных вариантов прогнозных векторов движения посредством использования индекса, указывающего прогнозный вектор движения, полученный из потока битов, извлекает информацию относительно значения разности между прогнозным вектором движения и исходным вектором движения из потока битов и затем суммирует значение разности и прогнозный вектор движения, чтобы восстанавливать вектор движения текущей единицы прогнозирования.
Варианты осуществления настоящего изобретения могут быть записаны в качестве компьютерной программы и могут быть реализованы в цифровых компьютерах общего назначения, которые выполняют программы с использованием считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения данных (например, ROM, гибкие диски, жесткие диски и т.д.) и оптические носители записи (например, CD-ROM или DVD).
Хотя настоящее изобретение конкретно показано и описано со ссылкой на его примерные варианты осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и содержанию могут быть сделаны без отступления от сущности и объема настоящего изобретения, задаваемого посредством прилагаемой формулы изобретения.