Способ кодирования видеоизображений, устройство кодирования видеоизображений, способ декодирования видеоизображений, устройство декодирования видеоизображений и устройство кодирования/декодирования видеоизображений

Иллюстрации

Показать все

Изобретение относится к кодированию и декодированию движущихся изображений на поблочной основе. Техническим результатом является обеспечение кодирования и декодирования движущихся изображений с уменьшенной нагрузкой по обработке без вызывания снижения эффективности кодирования. Способ содержит: избирательное добавление, в список, вектора движения каждого из одного или более соответствующих блоков; выбор вектора движения, используемого для кодирования текущего блока, из числа векторов движения в списке; и кодирование текущего блока с использованием выбранного вектора движения, при этом добавление вектора движения дополнительно включает в себя: вычисление второго вектора движения посредством масштабирования первого вектора движения соседнего во времени соответствующего блока; определение, находится ли абсолютная величина второго вектора движения в предварительно определенном фиксированном диапазоне абсолютных величин, добавление второго вектора движения в список и добавление третьего вектора движения в список. 4 н. и 6 з.п. ф-лы, 44 ил.

Реферат

Область техники

[0001] Настоящее изобретение относится к способу кодирования движущихся изображений для кодирования изображений на поблочной основе и к способу декодирования движущихся изображений для декодирования изображений на поблочной основе.

Уровень техники

[0002] При декодировании с внешним прогнозированием в H.264 данные изображений текущего блока декодируются посредством прогнозирования бипрогнозного опорного блока, включенного в срез B, с использованием, в качестве опорных, двух элементов данных изображений, которые являются данными изображений, отличающихся от изображения, включающего в себя текущий блок.

[0003] Для стандарта H.264 существуют режимы извлечения векторов движения, доступные для прогнозирования изображений. Режимы упоминаются в качестве прямых режимов (см. 8.4.1.2.1, 3.45 и т.д. в NPL 1).

[0004] Следующие два режима (S) и (T) доступны в качестве прямых режимов в H.264.

[0005] (T): Временной прямой режим (временной режим). Текущий блок прогнозируется с использованием вектора mvCol движения совместно размещенного блока (Col_Blk), который является пространственно идентичным текущему блоку (но временно отличающимся), масштабированным на некоторый процент.

[0006] (S): Пространственный прямой режим. Текущий блок прогнозируется с использованием данных относительно вектора движения (данных движения) блока, который пространственно отличается (но должен отображаться одновременно с текущим блоком).

Список библиографических ссылок

Непатентные документы

[0007] NPL 1. ITU-T H.264 03/2010

NPL 2. WD4: Working Draft 4 of High-Efficiency Video Coding Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 июля 2011 года, документ: JCTVC-F803_d2

Сущность изобретения

Техническая проблема

[0008] Тем не менее, прогнозирование во временном прямом режиме заключает в себе умножение для масштабирования. Такое умножение может приводить к увеличению нагрузки при кодировании или декодировании, поскольку векторы движения, используемые при кодировании или декодировании, могут требовать обработки при большей битовой точности.

[0009] С учетом этого, один неограничивающий и примерный вариант осуществления предоставляет способ кодирования движущихся изображений и способ декодирования движущихся изображений, каждый из которых может приводить к уменьшенной нагрузке и осуществляться с идентичной эффективностью кодирования.

Решение задачи

[0010] Способ кодирования движущихся изображений согласно аспекту настоящего изобретения представляет собой способ кодирования движущихся изображений для кодирования изображений на поблочной основе и включает в себя: избирательное добавление, в список, вектора движения каждого из одного или более соответствующих блоков, каждый из которых является (i) блоком, включенным в текущее изображение, которое должно быть кодировано, и пространственно соседним с текущим блоком, который должен быть кодирован, или (ii) блоком, включенным в изображение, отличное от текущего изображения, и временно соседним с текущим блоком; выбор вектора движения из числа векторов движения в списке, причем выбранный вектор движения должен использоваться для кодирования текущего блока; и кодирование текущего блока с использованием вектора движения, выбранного при выборе, при этом, при добавлении, процесс масштабирования выполняется в отношении первого вектора движения временно соседнего соответствующего блока, чтобы вычислять второй вектор движения, определяется то, имеет ли вычисленный второй вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенной абсолютной величины, и второй вектор движения добавляется в список в качестве вектора движения соответствующего блока, когда определяется то, что второй вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин.

[0011] Кроме того, способ декодирования движущихся изображений согласно аспекту настоящего изобретения представляет собой способ декодирования движущихся изображений для декодирования изображений на поблочной основе и включает в себя: избирательное добавление, в список, вектора движения каждого из одного или более соответствующих блоков, каждый из которых является (i) блоком, включенным в текущее изображение, которое должно быть декодировано, и пространственно соседним с текущим блоком, который должен быть декодирован, или (ii) блоком, включенным в изображение, отличное от текущего изображения, и временно соседним с текущим блоком; выбор вектора движения из числа векторов движения в списке, причем выбранный вектор движения должен использоваться для декодирования текущего блока; и декодирование текущего блока с использованием вектора движения, выбранного при выборе, при этом при добавлении, процесс масштабирования выполняется в отношении первого вектора движения временно соседнего соответствующего блока, чтобы вычислять второй вектор движения, определяется то, имеет ли вычисленный второй вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенной абсолютной величины, и второй вектор движения добавляется в список в качестве вектора движения соответствующего блока, когда определяется то, что второй вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин.

[0012] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, либо любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

Преимущества изобретения

[0013] Способы кодирования движущихся изображений и способы декодирования движущихся изображений согласно настоящему изобретению обеспечивают кодирование или декодирование движущихся изображений с уменьшенной нагрузкой по обработке без вызывания снижения эффективности кодирования.

Краткое описание чертежей

[0014] Фиг. 1 иллюстрирует два изображения, к которым обращаются для декодирования текущего блока (Curr_Blk).

Фиг. 2A иллюстрирует список (RefPicList0) опорных изображений.

Фиг. 2B иллюстрирует список (RefPicList1) опорных изображений.

Фиг. 3 иллюстрирует picNum в списках RefPicList0 и RefPicList1 опорных изображений включенного CurrBlk.

Фиг. 4 иллюстрирует информацию для использования во временном режиме (T).

Фиг. 5A иллюстрирует процесс масштабирования во временном режиме, показывая упрощенную схему совместно размещенного блока и вектора mvL0Col движения.

Фиг. 5B иллюстрирует процесс масштабирования во временном режиме с использованием схемы общего представления процесса масштабирования.

Фиг. 6 иллюстрирует взаимосвязь между этапами 1-3 и уравнениями для извлечения векторов движения, описанных в NPL 1.

Фиг. 7 иллюстрирует пространственный прямой режим (S).

Фиг. 8 является блок-схемой, иллюстрирующей конфигурацию устройства кодирования движущихся изображений согласно варианту 1 осуществления.

Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства кодирования движущихся изображений согласно варианту 1 осуществления.

Фиг. 10 иллюстрирует блоки-кандидаты [1…6] слияния, заданные посредством модуля внутреннего - внешнего прогнозирования.

Фиг. 11 иллюстрирует общее представление списка (mergeCandList) кандидатов слияния.

Фиг. 12 иллюстрирует примерный случай, когда модуль внешнего - внутреннего прогнозирования определяет то, что данные движения являются копией.

Фиг. 13 является блок-схемой последовательности операций способа, иллюстрирующей процесс для получения данных движения блока-кандидата [i] слияния.

Фиг. 14 является блок-схемой последовательности операций способа, иллюстрирующей пример процесса масштабирования, выполняемого посредством модуля внешнего - внутреннего прогнозирования.

Фиг. 15 является блок-схемой последовательности операций способа, иллюстрирующей другой пример процесса масштабирования, выполняемого посредством модуля внешнего - внутреннего прогнозирования.

Фиг. 16 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования движущихся изображений согласно варианту 1 осуществления.

Фиг. 17 является блок-схемой последовательности операций способа, иллюстрирующей работу устройства декодирования движущихся изображений согласно варианту 1 осуществления.

Фиг. 18 иллюстрирует обновление списка (mergeCandList) кандидатов слияния с использованием (a) сформированного начального списка (mergeCandList) кандидатов слияния и (b) списка кандидатов слияния после обновления.

Фиг. 19A иллюстрирует предиктор mvpLX вектора движения в HEVC.

Фиг. 19B иллюстрирует список mvpListLX (mvpListL0 и mvpListL1) кандидатов для предиктора mvpLX вектора движения.

Фиг. 20 иллюстрирует блоки-кандидаты предикторов или блок-кандидат предиктора.

Фиг. 21 показывает общую конфигурацию системы предоставления контента для реализации услуг распространения контента.

Фиг. 22 показывает общую конфигурацию цифровой широковещательной системы.

Фиг. 23 показывает блок-схему, иллюстрирующую пример конфигурации телевизионного приемника.

Фиг. 24 показывает блок-схему, иллюстрирующую пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, который является оптическим диском.

Фиг. 25 показывает пример конфигурации носителя записи, который является оптическим диском.

Фиг. 26A показывает пример сотового телефона.

Фиг. 26B является блок-схемой, показывающей пример конфигурации сотового телефона.

Фиг. 27 иллюстрирует структуру мультиплексированных данных.

Фиг. 28 схематично показывает то, как каждый поток мультиплексируется в мультиплексированных данных.

Фиг. 29 показывает то, как видеопоток сохраняется в потоке PES-пакетов.

Фиг. 30 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.

Фиг. 31 показывает структуру данных PMT.

Фиг. 32 показывает внутреннюю структуру информации мультиплексированных данных.

Фиг. 33 показывает внутреннюю структуру информации атрибутов потока.

Фиг. 34 показывает этапы для идентификации видеоданных.

Фиг. 35 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно каждому из вариантов осуществления.

Фиг. 36 показывает конфигурацию для переключения между частотами возбуждения.

Фиг. 37 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.

Фиг. 38 показывает пример таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения.

Фиг. 39A является схемой, показывающей пример конфигурации для совместного использования модуля процессора сигналов.

Фиг. 39B является схемой, показывающей другой пример конфигурации для совместного использования модуля процессора сигналов.

Подробное описание вариантов осуществления

[0015] Базовая основа формирования знаний настоящего изобретения

Фиг. 1 иллюстрирует два изображения, к которым обращаются для декодирования текущего блока (Curr_Blk). На фиг. 1, номера ʺ300ʺ-ʺ304ʺ являются номерами (PicNum) изображений, и изображения размещаются в порядке возрастания значений порядка (PicOrderCnt) отображения. Текущий блок, который должен быть декодирован, включается в изображение с номером 302 (CurrPic). В этом примере, текущий блок, который должен быть декодирован, обращается к изображению, имеющему PicNum 301, и изображению, имеющему PicNum 304. Изображение, имеющее PicNum 301, предшествует изображению, включающему в себя текущий блок в порядке отображения, и изображение, имеющее PicNum 304, идет после изображения, включающего в себя текущий блок, в порядке отображения. На нижеприведенных чертежах начальная точка стрелки указывает изображение, из которого обращаются (изображение, которое должно быть декодировано), и острие стрелки указывает изображение, которое должно использоваться для декодирования (изображение, к которому следует обращаться), как описано в легенде к фиг. 1.

[0015] Текущие блоки, которые должны быть декодированы, указываются посредством сплошного черного блока на нижеприведенных чертежах и называются просто Curr_Blk на чертежах и в нижеприведенном описании. С другой стороны, начальная точка стрелки указывает изображение, из которого обращаются (изображение, которое должно быть декодировано), и острие стрелки указывает изображение, которое должно использоваться для декодирования (изображение, к которому следует обращаться), как описано в легенде к фиг. 1. Изображение, имеющее picNum 302, представляет собой изображение, включающее в себя текущий блок, который должен быть декодирован (текущее изображение, которое должно быть декодировано).

[0016] Фиг. 2A и фиг. 2B иллюстрируют два списка опорных изображений, RefPicList0 и RefPicList1, соответственно.

[0017] Фиг. 2A иллюстрирует список 0 (RefPicList0) опорных изображений, который является списком для идентификации одного из двух опорных изображений. Фиг. 2B показывает список 1 (RefPicList1) опорных изображений, который является списком для идентификации другого из двух опорных изображений. Посредством использования списков опорных изображений, можно указывать опорное изображение, к которому обращаются посредством текущего изображения, которое должно быть декодировано, с использованием индекса, имеющего небольшое значение, к примеру, ʺ0ʺ или ʺ1ʺ (refIdxL0 и refIdxL1) вместо picNum, имеющего большое значение, к примеру, ʺ302ʺ. Изображения, к которым обращаются посредством текущих блоков, которые должны быть декодированы (Curr_Blk), которые являются блоками в срезе, указываются с использованием значений в этих списках.

[0018] Эти списки инициализируются (формируются), когда декодируется срез B, включающий в себя текущий блок.

[0019] Записи в списках RefPicList0 и RefPicList1 опорных изображений переупорядочиваются таким образом, что индексы, имеющие меньшие значения в списке RefPicList0 опорных изображений и списке RefPicList1 опорных изображений, указывают изображения, имеющие различные номера picNum изображений. Каждый из списков опорных изображений разделяется на первую половину, включающую в себя изображения, предшествующие picNum302, и вторую половину, включающую в себя изображения, идущие после picNum302. В первой половине списка 0 опорных изображений, индексам изображений назначаются номера изображений в порядке убывания (301, 300…). В первой половине списка 1 опорных изображений, индексам изображений назначаются номера изображений в порядке возрастания (303, 304…).

[0020] Например, когда кодовая последовательность имеет индекс, имеющий минимальное значение ʺ0ʺ для каждого из списка 0 опорных изображений и списка 1 опорных изображений, следующие два опорных изображения определяются для изображения 302.

[0021] Одно из опорных изображений представляет собой изображение, указываемое посредством RefPicList0[0], которое представляет собой изображение 301 непосредственно перед изображением 302. Другое из опорных изображений представляет собой изображение, указываемое посредством RefPicList1[0], которое представляет собой изображение 303 сразу после изображения 302.

[0022] В примере, проиллюстрированном на фиг. 1, один индекс refIdxL0 равен 0, и, следовательно, текущее изображение 302 обращается к изображению 301. Другой индекс refIdxL1 равен 1, и, следовательно, текущее изображение 302 обращается к изображению 304.

[0023] Фиг. 3 иллюстрирует picNum в случае, если значения refIdxL0 и refIdxL1 в каждом из списков RefPicList0 и RefPicList1 опорных изображений CurrBlk, включенного в изображения 302, увеличиваются от ʺ0ʺ. Большие значения в списке (значение refIdxL0 и значение refIdxL1) указывают изображения, более удаленные от текущего изображения, которое должно быть декодировано (picNum302).

[0024] В частности, RefPicList1, который указывает другой опорный элемент, хранит индексы согласно такому правилу, что индексам, имеющим меньше значений в списке, назначаются изображения после изображения 302 CurrPic (т.е. изображения, большие PicOrderCnt (CurrPic) и уже декодированные и сохраненные в запоминающем устройстве) в порядке убывания (правило упоминается в качестве правила 1). Согласно правилу 1 изображение, указываемое посредством RefPicList1[0], представляет собой изображение picNum 303, указываемое посредством пунктирного круга на фиг. 3.

[0025] Как видно выше, один список опорных изображений называется просто RefPicList0, и индексы в списке называются просто refIdxL0 в описании и на чертежах, если не указано иное. Аналогично, другой список опорных изображений называется просто RefPicList1, и индексы в списке называются просто refIdxL1 (см. легенды к фиг. 3 и NPL 1, 8.2.4.2.3 в ʺ8.2.4. Decoding process for reference picture lists constructionʺ на предмет дополнительных сведений).

[0026] Далее описываются временной режим (T) и пространственный прямой режим (S) в H.264.

[0027] Фиг. 4 иллюстрирует информацию для использования во временном режиме (T).

[0028] Заштрихованный блок на фиг. 4 представляет совместно размещенный блок (Col_Blk), который является пространственно идентичным текущему блоку (но временно отличающимся от текущего блока). Временное местоположение совместно размещенного блока указывается посредством индекса, имеющего значение ʺ0ʺ в RefPicList1 в другом списке 1 опорных изображений на фиг. 3, т.е. совместно размещенный блок находится в изображении 303. В списке RefPicList1, инициализированном согласно правилу 1, изображение, указываемое посредством индекса, имеющего значение ʺ0ʺ (т.е. значение RefPicList1[0]), представляет собой изображение, временно ближайшее из изображений, которые находятся в опорном запоминающем устройстве и идут после текущего изображения в порядке отображения с исключительными случаями, в которых, например, опорное запоминающее устройство не сохраняет изображения, идущие временно после текущего изображения.

[0029] Затем, во временном режиме, векторы mvL0 и mvL1 движения текущего блока Curr_Blk, который должен быть декодирован, представленного в качестве сплошного черного блока, извлекаются с использованием ʺданных движенияʺ Col_Blk, представленного в качестве заштрихованного блока. ʺДанные движенияʺ включают в себя следующее.

[0030] (i) Опорное изображение refIdxL0[refidx], к которому обращаются посредством Col_Blk

[0031] В этом примере, Col_Blk обращается к изображению, имеющему picNum 301 (это указывается посредством значения RefPicList0[1]).

[0032] (ii) Вектор mvL0Col движения в опорном изображении

[0033] На фиг. 4, пунктирная стрелка в изображении, имеющем picNum 301, указывает один вектор mvL0Col движения, который должен быть использован для декодирования Col_Blk.

[0034] Далее, пунктирные стрелки в настоящем описании и на чертежах представляют векторы движения. Вектор mvL0Col движения указывает прогнозное изображение, используемое для декодирования Col_Blk.

[0035] Фиг. 5A и фиг. 5B иллюстрируют процесс масштабирования во временном режиме.

[0036] Процесс масштабирования является процессом для извлечения векторов mvL0 и mvL1 движения текущего блока Curr_Blk, который должен быть декодирован, посредством масштабирования значения вектора mvL0Col движения с использованием отношения между расстояниями от текущего блока до опорных изображений.

[0037] Фиг. 5A иллюстрирует опорную структуру, совместно размещенный блок и вектор mvL0Col движения на фиг. 1-4 с использованием упрощенной схемы.

[0038] Фиг. 5B иллюстрирует общее представление процесса масштабирования.

[0039] Процесс масштабирования основан на идее подобия между треугольником DEF и треугольником ABC, как проиллюстрировано на фиг. 5B.

[0040] Треугольник DEF является треугольником для Col_Blk.

[0041] Точка D находится в Col_Blk. Точка E находится в изображении, к которому обращаются посредством Col_Blk. Точка F является точкой, в которой вектор mvL0Col движения, начинающийся в точке E, имеет верхушку.

[0042] Треугольник ABC является треугольником для Curr_Blk.

[0043] Точка A находится в текущем блоке Curr_Blk, который должен быть декодирован. Точка B находится в изображении, к которому обращаются посредством блока Curr_Blk. Точка C является точкой, в которой вектор, который должен извлекаться, имеет верхушку.

[0044] Во-первых, на этапе 1 извлекается ScaleFactor, который является отношением (2) относительного расстояния (tx) от Col_Blk до изображения, к которому обращаются посредством Col_Blk, к (1) относительному расстоянию (tb) от Curr_Blk до изображения, к которому обращаются посредством Curr_Blk. Например, ссылаясь на фиг. 5B, ScaleFactor является отношением tb=302-301=1 к tx=303-301=2 (tb/tx), т.е. коэффициентом масштабирования 0,5 (1/2) (или отношением гомотетии 1:2). Следовательно, имеет место то, что отношение гомотетии треугольника ABC к треугольнику DEF составляет 1/2.

[0045] ScaleFactor=tb/tx=(302-301)/(303-301)=1/2… (этап 1)

[0046] На этапе 2, вектор EF, имеющий абсолютную величину, равную длине данной стороны EF, умножается на коэффициент масштабирования, чтобы получать вектор BC. Вектор BC является одним из двух векторов, которые должны извлекаться, вектор mvL0.

[0047] mvL0=ScaleFactor Ч mvL0Col… (этап 2)

[0048] На этапе 3, другой вектор, который должен извлекаться, вектор mvL1, извлекается с использованием mvL0, извлекаемого на этапе 2, и инвертированного mvL0Col.

[0049] mvL1=mvL0-mvL0Col… (этап 3)

[0050] Фиг. 6 иллюстрирует взаимосвязь между этапами 1-3 и уравнениями для извлечения векторов движения, описанных в ʺ8.4.1.2.3. Derivation process for temporal direct luma motion vector and reference index prediction modeʺ в NPL 1.

[0051] Фиг. 7 иллюстрирует другой из двух прямых режимов, т.е. пространственный прямой режим (S).

[0052] Текущий блок (Curr_Blk), который должен быть декодирован, включается в блок единицы компенсации движения. В этом режиме данные относительно вектора движения (они представляют собой данные движения, включающие в себя комбинацию значений (вектор mvLXN движения и опорный индекс refIdxLXN), как описано выше, то же применимо в дальнейшем), получаются для блока n, который граничит с блоком единицы компенсации движения (блок n является, например, соседним блоком A, соседним блоком B или соседним блоком C).

[0053] Из данных по вектору движения (в дальнейшем также называемых данными движения), элемент данных движения (refIdxL0 и refIdxL0 и mvL0 и mvL1, соответствующие им, соответственно) блока, имеющего наименьшее значение опорного индекса (refIdxLXN), используется как есть (см. уравнения 8-186 и 8-187 в NPL 1). Опорные индексы имеют значения натуральных чисел, включающие в себя ʺ0ʺ (значения для значений MinPositive). В частности, refIdxL0 и refIdxL1 извлекаются с использованием следующих уравнений, соответственно:

[0054] refIdxL0=MinPositive (refIdxL0A, MinPositive (refIdxL0B, refIdxL0C)) (8-186); и

[0055] refIdxL1=MinPositive (refIdxL1A, MinPositive (refIdxL1B, refIdxL1C)) (8-187).

[0056] В пространственном прямом режиме, в наборе используются элементы ʺданных движенияʺ, включающих в себя данные относительно вектора mvL0 или mvL1 движения, такие как расстояние от текущего изображения до опорного изображения (refIdxL0, refIdxL1). Следовательно, в отличие от этого, во временном режиме извлечение вектора движения, в общем, не заключает в себе масштабирование mvL0 или mvL1, а только обращается к опорному изображению, используемому для соседнего блока.

[0057] Как описано выше, извлечение вектора mvL0 движения с использованием ScaleFactor (DistScaleFactor) во временном режиме (T) заключает в себе умножение mvL0Col на ScaleFactor. Соответственно, когда вектор движения, который должен обрабатываться при декодировании, ограничивается абсолютной величиной таким образом, что вектор движения может быть представлен с некоторой битовой точностью, необходимо управлять формированием вектора движения таким образом, что вектор движения, полученный в качестве результата умножения, выполняемого при кодировании во временном режиме, имеет такую абсолютную величину. Такое управление увеличивает нагрузку по обработке при кодировании.

[0058] Кроме того, согласно традиционному стандарту H.264, переключение между временным режимом (T) и пространственным прямым режимом (S) разрешается только не более одного раза в расчете на срез.

[0059] Для HEVC-стандарта поясняется использование режима слияния, в котором векторы движения извлекаются с использованием способа, более гибкого, чем тогда, когда пространственный прямой режим или временной режим используется для каждого среза в H.264. Здесь, требуется обеспечивать надлежащий баланс между уменьшением нагрузки по обработке и поддержанием эффективности кодирования для извлечения таких векторов движения, имеющих ограниченную абсолютную величину, посредством использования этих режимов в сочетании с режимом слияния для нового стандарта, HEVC.

[0060] Способ кодирования движущихся изображений согласно аспекту настоящего изобретения представляет собой способ кодирования движущихся изображений для кодирования изображений на поблочной основе и включает в себя: избирательное добавление, в список, вектора движения каждого из одного или более соответствующих блоков, каждый из которых является (i) блоком, включенным в текущее изображение, которое должно быть кодировано, и пространственно соседним с текущим блоком, который должен быть кодирован, или (ii) блоком, включенным в изображение, отличное от текущего изображения, и временно соседним с текущим блоком; выбор вектора движения из числа векторов движения в списке, причем выбранный вектор движения должен использоваться для кодирования текущего блока; и кодирование текущего блока с использованием вектора движения, выбранного при выборе, при этом при добавлении, процесс масштабирования выполняется в отношении первого вектора движения временно соседнего соответствующего блока, чтобы вычислять второй вектор движения, определяется то, имеет ли вычисленный второй вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенной абсолютной величины, и второй вектор движения добавляется в список в качестве вектора движения соответствующего блока, когда определяется то, что второй вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин.

[0061] Таким образом, можно ограничивать векторы движения, обрабатываемые при кодировании и декодировании, некоторой абсолютной величиной таким образом, что векторы движения могут быть представлены с некоторой битовой точностью.

[0062] Кроме того, при добавлении, когда определяется то, что второй вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, второй вектор движения усекается так, чтобы иметь абсолютную величину в пределах предварительно определенного диапазона абсолютных величин, и вектор движения, полученный в результате усечения второго вектора движения, добавляется в список в качестве вектора движения соответствующего блока.

[0063] Кроме того, при добавлении, когда определяется то, что второй вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, второй вектор движения не добавляется в список.

[0064] Кроме того, список является списком кандидатов слияния, который перечисляет вектор движения соответствующего блока и задающую информацию для задания изображения, к которому обращаются посредством соответствующего блока, при добавлении задающая информация добавляется в список кандидатов слияния в дополнение к вектору движения соответствующего блока, при выборе вектор движения и задающая информация, которые должны использоваться для кодирования текущего блока, выбираются из числа векторов движения в списке кандидатов слияния, и при кодировании текущий блок кодируется посредством формирования прогнозного изображения текущего блока с использованием вектора движения и задающей информации, выбранных при выборе.

[0065] Кроме того, список является списком кандидатов предикторов вектора движения, при добавлении дополнительно определяется то, имеет четвертый вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, и четвертый вектор движения добавляется в список кандидатов предикторов вектора движения в качестве кандидата вектора предиктора движения, когда определяется то, что четвертый вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, причем четвертый вектор движения вычисляется посредством выполнения процесса масштабирования в отношении третьего вектора движения пространственно соседнего соответствующего блока, при выборе, предиктор вектора движения, который должен быть использован для кодирования текущего блока, выбирается из списка кандидатов предикторов вектора движения, и при кодировании выполняется кодирование текущего блока, которое включает в себя кодирование вектора движения текущего блока с использованием предиктора вектора движения, выбранного при выборе.

[0066] Кроме того, при добавлении, когда определяется то, что четвертый вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, четвертый вектор движения усекается так, чтобы иметь абсолютную величину в пределах предварительно определенного диапазона абсолютных величин, и вектор движения, полученный в результате усечения четвертого вектора движения, добавляется в список кандидатов предикторов вектора движения в качестве кандидата предиктора вектора движения.

[0067] Кроме того, предварительно определенный диапазон абсолютных величин определяется на основе битовой точности вектора движения, и битовая точность имеет либо значение, заданное посредством одного из профиля и уровня, либо значение, включенное в заголовок.

[0068] Кроме того, способ декодирования движущихся изображений согласно аспекту настоящего изобретения представляет собой способ декодирования движущихся изображений для декодирования изображений на поблочной основе и включает в себя: избирательное добавление, в список, вектора движения каждого из одного или более соответствующих блоков, каждый из которых является (i) блоком, включенным в текущее изображение, которое должно быть декодировано, и пространственно соседним с текущим блоком, который должен быть декодирован, или (ii) блоком, включенным в изображение, отличное от текущего изображения, и временно соседним с текущим блоком; выбор вектора движения из числа векторов движения в списке, причем выбранный вектор движения должен использоваться для декодирования текущего блока; и декодирование текущего блока с использованием вектора движения, выбранного при выборе, при этом при добавлении, процесс масштабирования выполняется в отношении первого вектора движения временно соседнего соответствующего блока, чтобы вычислять второй вектор движения, определяется то, имеет ли вычисленный второй вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенной абсолютной величины, и второй вектор движения добавляется в список в качестве вектора движения соответствующего блока, когда определяется то, что второй вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин.

[0069] Таким образом, можно ограничивать векторы движения, обрабатываемые при кодировании и декодировании, определенной абсолютной величиной таким образом, что векторы движения могут быть представлены с определенной битовой точностью.

[0070] Кроме того, при добавлении, когда определяется то, что второй вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, второй вектор движения усекается так, чтобы иметь абсолютную величину в пределах предварительно определенного диапазона абсолютных величин, и вектор движения, полученный в результате усечения второго вектора движения, добавляется в список.

[0071] Кроме того, при добавлении, когда определяется то, что второй вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, второй вектор движения не добавляется в список.

[0072] Кроме того, список является списком кандидатов слияния, который перечисляет вектор движения соответствующего блока и задающую информацию для задания изображения, к которому обращаются посредством соответствующего блока, при добавлении задающая информация добавляется в список кандидатов слияния в дополнение к вектору движения соответствующего блока, при выборе вектор движения и задающая информация, которые должны использоваться для декодирования текущего блока, выбираются из числа векторов движения в списке кандидатов слияния, и при декодировании текущий блок декодируется посредством формирования прогнозного изображения текущего блока с использованием вектора движения и задающей информации, выбранных при выборе.

[0073] Кроме того, список является списком кандидатов предикторов вектора движения, при добавлении дополнительно определяется то, имеет ли четвертый вектор движения абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, или абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, и четвертый вектор движения добавляется в список кандидатов предикторов вектора движения в качестве кандидата вектора предиктора движения, когда определяется то, что четвертый вектор движения имеет абсолютную величину, которая находится в пределах предварительно определенного диапазона абсолютных величин, причем четвертый вектор движения вычисляется посредством выполнения процесса масштабирования в отношении третьего вектора движения пространственно соседнего соответствующего блока, при выборе, предиктор вектора движения, который должен быть использован для декодирования текущего блока, выбирается из списка кандидатов предикторов вектора движения, и при декодировании выполняется декодирование текущего блока, которое включает в себя декодирование вектора движения текущего блока с использованием предиктора вектора движения, выбранного при выборе.

[0074] Кроме того, при добавлении, когда определяется то, что четвертый вектор движения имеет абсолютную величину, которая не находится в пределах предварительно определенного диапазона абсолютных величин, четвертый вектор движения усекается так, чтобы иметь абсолютную величину в пределах предварительно определенного диапазона абсолютных величин, и вектор движения, полученный в результате усечения четвертого вектора движения, добавляется в список кандидатов предикторов вектора движения в качестве кандидата предиктора вектора движения.

[0075] Кроме того, предварительно определенный диапазон абсолютных величин определяется на основе битовой точности вектора движения, и битовая точность имеет либо значение, заданное посредством одного из профиля и уровня, либо значение, включенное в заголовок.

[0076] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, либо любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

[0077] Далее конкретно описаны варианты осуществления настоящего изобретения со ссылками на чертежи.

[0078] Каждый из вариантов осуществления, описанных ниже, показывает общий или конкретный пример. Числовые значения, формы, материалы, структурные элементы, компоновка и соединение структурных элементов, этапы, порядок обработки этапов и т.д., показанные в следующих вариантах осуществления, являются просто