Устройство кодирования, устройство декодирования, способ кодирования и способ декодирования

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

[0002] В последние годы, способ кодирования изображения со значительно повышенной эффективностью кодирования рекомендуется как ITU-T REC. H.264 и ISO/IEC 14496-10 (далее именуемый “H.264”) в кооперации с ITU-T (International Telecommunication Union Telecommunication Standardization Sector) и ISO (International Organization for Standardization)/IEC (International Electrotechnical Commission).

[0003] В H.264 раскрыта система кодирования с внешним прогнозированием, в которой избыточность во временном направлении устраняется для достижения высокой эффективности кодирования за счет осуществления прогнозирования с компенсацией движения дробной точности с использованием кодированного изображения в качестве опорного изображения.

[0004] Кроме того, предложена система, в которой движущееся изображение, включающее в себя эффект затухания или расплывания, кодируется с более высокой эффективностью, чем в системе кодирования с внешним прогнозированием согласно ISO/IEC MPEG (Moving Picture Experts Group)-1, 2, 4. В этой системе, прогнозирование с компенсацией движения дробной точности производится для входного движущегося изображения, имеющего яркость и две цветоразности, в качестве кадров для прогнозирования изменения светлоты во временном направлении. Затем, с использованием опорного изображения, яркость, и весовой коэффициент для каждого из яркости и двух цветоразностей, смещение и для каждого из яркости и двух цветоразностей, и пр., прогнозируемое изображение умножается на весовой коэффициент, и смещение прибавляется к нему. Весовой коэффициент может представлять долю с заранее определенной точностью с использованием параметра, представляющего точность фиксированной запятой, и взвешенное прогнозирование с компенсацией движения может осуществляться для изменения в пиксельном значении между изображениями с повышенной точностью.

СПИСОК ЦИТАТ

ПАТЕНТНАЯ ЛИТЕРАТУРА

[0005] Патентная литература 1: японская выложенная патентная публикация №2004-7377

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

ТЕХНИЧЕСКАЯ ПРОБЛЕМА

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

РЕШЕНИЕ ПРОБЛЕМЫ

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0008] Фиг. 1 - блок-схема, иллюстрирующая пример устройства кодирования согласно первому варианту осуществления.

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

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

Фиг. 3A - схема, которая иллюстрирует пример размера блока дерева кодирования согласно первому варианту осуществления.

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

Фиг. 3C - схема, которая иллюстрирует другой конкретный пример блока дерева кодирования согласно первому варианту осуществления.

Фиг. 3D - схема, которая иллюстрирует другой конкретный пример блока дерева кодирования согласно первому варианту осуществления.

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

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

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

Фиг. 7 - ссылочная схема, которая иллюстрирует весовые коэффициенты.

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

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

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

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

Фиг. 11 - ссылочная схема, которая иллюстрирует минимальное значение и максимальное значение весовых коэффициентов H.264.

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

Фиг. 13A - схема, которая иллюстрирует пример информации параметра WP согласно первому варианту осуществления.

Фиг. 13B - схема, которая иллюстрирует пример информации параметра WP согласно первому варианту осуществления.

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

Фиг. 15 - схема, которая иллюстрирует пример синтаксиса согласно первому варианту осуществления.

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

Фиг. 17 - схема, которая иллюстрирует пример синтаксиса заголовка слайса (среза) согласно первому варианту осуществления.

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

Фиг. 19 - пояснительная схема, которая иллюстрирует пример соотношения значений элементов синтаксиса согласно первому варианту осуществления.

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

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

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

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

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

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

Фиг. 26 - пояснительная схема, которая иллюстрирует пример соотношения между значениями элементов синтаксиса согласно модификации 3.

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

Фиг. 28 - пояснительная схема, которая иллюстрирует пример диапазона выбора весового коэффициента после декодирования согласно модификации 4.

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

Фиг. 30 - блок-схема операций, которая иллюстрирует пример процесса восстановления весового коэффициента согласно модификации 5.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0009] Далее следует подробное описание вариантов осуществления со ссылкой на прилагаемые чертежи. Устройство кодирования и устройство декодирования согласно каждому варианту осуществления, представленному ниже, можно реализовать аппаратными средствами, например, БИС (большой интегральной схемы), DSP (цифрового сигнального процессора) или FPGA (вентильной матрицы, программируемой пользователем). Кроме того, устройство кодирования и устройство декодирования согласно каждому варианту осуществления, представленному ниже, можно реализовать, предписывая компьютеру выполнять программу, другими словами, программными средствами. В нижеприведенном описании, термин “изображение” можно надлежащим образом заменить таким термином, как “видео”, “пиксель”, “сигнал изображения”, “картинка” или “данные изображения”.

[0010] ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ

В первом варианте осуществления будет описано устройство кодирования, кодирующее движущееся изображение.

[0011] На фиг. 1 показана блок-схема, иллюстрирующая пример конфигурации устройства 100 кодирования согласно первому варианту осуществления.

[0012] Устройство 100 кодирования делит каждый кадр или каждое поле, конфигурирующий(ее) входное изображение, на множество пиксельных блоков и осуществляет кодирование с прогнозированием разделенных пиксельных блоков с использованием параметров кодирования, поступающих от блока 111 управления кодированием, таким образом, генерируя прогнозируемое изображение. Затем устройство 100 кодирования генерирует ошибку прогнозирования путем вычитания прогнозируемого изображения из входного изображения, разделенного на множество пиксельных блоков, генерирует кодированные данные путем осуществления ортогонального преобразования и квантования, с последующим энтропийным кодированием сгенерированной ошибки прогнозирования, и выводит сгенерированные кодированные данные.

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

[0014] На фиг. 2A показана пояснительная схема, которая иллюстрирует пример прогнозируемой последовательности кодирования для пиксельного блока согласно первому варианту осуществления. В примере, представленном на фиг. 2A, устройство 100 кодирования осуществляет кодирование с прогнозированием от верхней левой стороны к нижней правой стороне в пиксельном блоке. Таким образом, в целевом кадре обработки кодирования f, на левой стороне и верхней стороне целевого пиксельного блока кодирования c, располагаются пиксельные блоки p, которые были закодированы.

[0015] На фиг. 2B показана пояснительная схема, которая иллюстрирует другой пример прогнозируемой последовательности кодирования для пиксельного блока согласно первому варианту осуществления. В примере, представленном на фиг. 2B, устройство 100 кодирования делит экран на множество форм тайла или форм слайса, и затем осуществляет кодирование с прогнозированием от верхней левой стороны пиксельного блока в каждом тайле или каждом слайсе к нижней правой стороне. Соответственно, в целевом кадре обработки кодирования f, на левой стороне и верхней стороне целевого пиксельного блока кодирования c, располагаются пиксельные блоки p, которые закодированы. Здесь, тайл представляет область, полученную разрезанием экрана на произвольные прямоугольные области, и слайс представляет область, полученную разрезанием экрана на произвольное количество больших блоков дерева кодирования, которые будут описаны ниже в порядке кодирования с прогнозированием.

[0016] В примере, представленном на фиг. 2B, после разделения экрана на множество форм тайла или множество слайсов, процесс кодирования осуществляется для каждого тайла или каждого слайса, и, соответственно, может осуществляться процесс декодирования для каждого тайла или каждого слайса. Таким образом, путем осуществления процессов декодирования видео высокого разрешения параллельным образом, объем вычислений необходимый для декодирования, можно разделить. Другими словами, в примере, представленном на фиг. 2B, процесс кодирования и процесс декодирования может осуществляться с высокой скоростью.

[0017] Далее, для упрощения описания, хотя предполагается, что устройство 100 кодирования осуществляет кодирование с прогнозированием в порядке, представленном на фиг. 2A, порядок в кодировании с прогнозированием этим не ограничивается.

[0018] Пиксельный блок представляет единицу для обработки изображения, и, например, блок, имеющий размер M×N (здесь, M и N - натуральные числа), блок дерева кодирования, макроблок, подблок, пиксель и т.п., соответствует ему. В нижеприведенном описании пиксельный блок, в основном, используется в значении блока дерева кодирования, но может использоваться в другом значении. Например, в описании единицы прогнозирования, пиксельный блок используется в значении пиксельного блока единицы прогнозирования. Блок может именоваться единицей и т.п. Например, блок кодирования может именоваться единицей кодирования.

[0019] На фиг. 3A показана схема, которая иллюстрирует пример размера блока дерева кодирования согласно первому варианту осуществления. Блок дерева кодирования обычно является пиксельным блоком размером 64×64 как показано на фиг. 3A. Однако блок дерева кодирования не ограничивается этим, но может представлять собой пиксельный блок размером 32×32, пиксельный блок размером 16×16, пиксельный блок размером 8×8, пиксельный блок размером 4×4, и т.п. Здесь, блок дерева кодирования может не быть квадратным но, например, может быть пиксельным блоком размером M×N (здесь, M≠N).

[0020] На фиг. 3B-3D показаны схемы, представляющие конкретные примеры блока дерева кодирования согласно первому варианту осуществления. Фиг. 3B представляет блок дерева кодирования, имеющий размер 64×64 (N=32). Здесь, N представляет размер опорного блока дерева кодирования. Размер в случае, когда блок дерева кодирования делится, задается как N, и размер в случае, когда блок дерева кодирования не делится, задается как 2N. Фиг. 3C представляет блок дерева кодирования, полученный делением блока дерева кодирования, представленного на фиг. 3B на квадродерево. Блок дерева кодирования, как показано на фиг. 3C, имеет структуру квадродерева. В случае, когда блок дерева кодирования делится, как показано на фиг. 3C, номера присваиваются (назначаются) четырем пиксельным блокам после разделения в порядке сканирования по Z.

[0021] Кроме того, в каждом номере квадродерева, блок дерева кодирования может дополнительно делиться на квадродерево. Соответственно, блок дерева кодирования может делиться иерархическим образом. В таком случае, глубина разделения задается как Depth. Фиг. 3D представляет один из блоков дерева кодирования, полученных делением блока дерева кодирования, представленного на фиг. 3B, на квадродерево, и его размер блока равен 32×32 (N=16). Глубина блока дерева кодирования, представленного на фиг. 3B, равна “0”, и глубина блока дерева кодирования, представленного на фиг. 3D, равна “1”. Кроме того, блок дерева кодирования, имеющий наибольшую единицу, называется большим блоком дерева кодирования, и входной сигнал изображения кодируется в такой единице в растровом порядке сканирования.

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

[0023] Устройство 100 кодирования, как показано на фиг. 1, включает в себя: блок 101 вычитания; блок 102 ортогонального преобразования; блок 103 квантования; блок 104 обратного квантования; блок 105 обратного ортогонального преобразования; блок 106 суммирования; блок 107 генерации прогнозируемого изображения; блок 108 установки индекса; блок 109 оценивания движения; и блок 110 кодирования. Кроме того, блок 111 управления кодированием, представленный на фиг. 1, управляет устройством 100 кодирования и может быть реализован, например, с использованием ЦП (центрального процессора) и т.п.

[0024] Блок 101 вычитания получает ошибку прогнозирования путем вычитания соответствующего прогнозируемого изображения из входного изображения, разделенного на пиксельные блоки. Блок 101 вычитания выводит ошибку прогнозирования для ввода в блок 102 ортогонального преобразования.

[0025] Блок 102 ортогонального преобразования осуществляет ортогональное преобразование, например, дискретное косинусное преобразование (DCT) или дискретное синусное преобразование (DST) для ошибки прогнозирования, поступающей от блока 101 вычитания, таким образом, получая коэффициент преобразования. Блок 102 ортогонального преобразования выводит коэффициент преобразования для ввода в блок 103 квантования.

[0026] Блок 103 квантования осуществляет процесс квантования для коэффициента преобразования, поступающего от блока 102 ортогонального преобразования, таким образом, получая квантованный коэффициент преобразования. В частности, блок 103 квантования осуществляет квантование на основании параметра квантования, назначенного блоком 111 управления кодированием, и информации квантования, например, матрицы квантования. Описанный более подробно, блок 103 квантования получает квантованный коэффициент преобразования делением коэффициента преобразования на размер шага квантования, выведенный на основании информации квантования. Параметр квантования представляет тонкость квантования. Матрица квантования используется для взвешивания тонкости квантования для каждой компоненты коэффициента преобразования. Блок 103 квантования выводит квантованный коэффициент преобразования для ввода в блок 104 обратного квантования и блок 110 кодирования.

[0027] Блок 104 обратного квантования осуществляет процесс обратного квантования для квантованного коэффициента преобразования, поступающего от блока 103 квантования, таким образом, получая коэффициент преобразования восстановления. В частности, блок 104 обратного квантования осуществляет обратное квантование на основании информации квантования, используемой блоком 103 квантования. Описанный подробно, блок 104 обратного квантования получает коэффициент преобразования восстановления путем умножения квантованного коэффициента преобразования на размер шага квантования, выведенный на основании информации квантования. Кроме того, информация квантования, используемая блоком 103 квантования, загружается из внутренней памяти блока 111 управления кодированием, которая не показана на фигуре, и используется. Блок 104 обратного квантования выводит коэффициент преобразования восстановления для ввода в блок 105 обратного ортогонального преобразования.

[0028] Блок 105 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование, например, обратное дискретное косинусное преобразование (IDCT) или обратное дискретное синусное преобразование (IDST) для восстановленного коэффициента преобразования, поступающего от блока 104 обратного квантования, таким образом, получая восстановленную ошибку прогнозирования. Здесь, обратное ортогональное преобразование, осуществляемое блоком 105 обратного ортогонального преобразования, соответствует ортогональному преобразованию, осуществляемому блоком 102 ортогонального преобразования. Блок 105 обратного ортогонального преобразования выводит восстановленную ошибку прогнозирования для ввода в блок 106 суммирования.

[0029] Блок 106 суммирования суммирует восстановленную ошибку прогнозирования, поступающую от блока 105 обратного ортогонального преобразования, и соответствующее прогнозируемое изображение, таким образом, генерируя локальное декодированное изображение. Блок 106 суммирования выводит локальное декодированное изображение для ввода в блок 107 генерации прогнозируемого изображения.

[0030] Блок 107 генерации прогнозируемого изображения сохраняет локальное декодированное изображение, поступающее от блока 106 суммирования, в памяти (не представленной на фиг. 1) в качестве опорного изображения и выводит опорное изображение, хранящееся в памяти, для ввода в блок 109 оценивания движения. Кроме того, блок 107 генерации прогнозируемого изображения генерирует прогнозируемое изображение путем осуществления взвешенного прогнозирования с компенсацией движения на основании информации движения и информации параметра WP, поступающей от блока 109 оценивания движения. Блок 107 генерации прогнозируемого изображения выводит прогнозируемое изображение для ввода в блок 101 вычитания и блок 106 суммирования.

[0031] На фиг. 4 показана блок-схема, иллюстрирующая пример конфигурации блока 107 генерации прогнозируемого изображения согласно первому варианту осуществления. Блок 107 генерации прогнозируемого изображения, как показано на фиг. 4, включает в себя: блок 201 многокадровой компенсации движения; память 202; блок 203 однонаправленной компенсации движения; блок 204 управления параметрами прогнозирования; блок 205 выбора опорного изображения; блок 206 памяти кадров; и блок 207 управления опорным изображением.

[0032] Блок 206 памяти кадров сохраняет локальное декодированное изображение, поступающее от блока 106 суммирования в качестве опорного изображения под управлением блока 207 управления опорным изображением. Блок 206 памяти кадров включает в себя множество блоков FM1 - FMN памяти (здесь, N≥1) используемых для временного хранения опорного изображения.

[0033] Блок 204 управления параметрами прогнозирования подготавливает множество комбинаций, каждого из номера опорного изображения и параметра прогнозирования в виде таблицы на основании информации движения, поступающей от блока 109 оценивания движения. Здесь, информация движения представляет информацию вектора движения, представляющего отклонение движения, которая используется для прогнозирования с компенсацией движения, номер опорного изображения и режим прогнозирования, например, однонаправленное/двунаправленное прогнозирование. Параметр прогнозирования представляет информацию, относящуюся к вектору движения и режиму прогнозирования. Затем блок 204 управления параметрами прогнозирования выбирает комбинацию ссылочного номера и параметра прогнозирования, используемого для генерации прогнозируемого изображения, на основании входного изображения и выводит выбранную комбинацию для обеспечения ввода номера опорного изображения в блок 205 выбора опорного изображения и для обеспечения ввода параметра прогнозирования в блок 203 однонаправленной компенсации движения.

[0034] Блок 205 выбора опорного изображения представляет собой переключатель, который меняет один из выходных разъемов блоков FM1-FMN памяти кадров, которые включены в блок 206 памяти кадров, на который нужно переключаться, на основании номера опорного изображения, поступающего от блока 204 управления параметрами прогнозирования. Например, когда номер опорного изображения равен “0”, блок 205 выбора опорного изображения соединяет выходной разъем блока FM1 памяти кадров с выходным разъемом блока 205 выбора опорного изображения, и, когда номер опорного изображения равен N-1, блок 205 выбора опорного изображения соединяет выходной разъем блока FMN памяти кадров с выходным разъемом блока 205 выбора опорного изображения. Блок 205 выбора опорного изображения выводит опорное изображение, хранящееся в блоке памяти кадров, к которому подключен выходной разъем, из блоков FM1-FMN памяти кадров, включенных в блок 206 памяти кадров, для ввода в блок 203 однонаправленной компенсации движения и блок 109 оценивания движения.

[0035] Блок 203 однонаправленной компенсации движения осуществляет процесс прогнозирования с компенсацией движения на основании параметра прогнозирования, поступающего от блока 204 управления параметрами прогнозирования и опорного изображения, поступающего от блока 205 выбора опорного изображения, таким образом, генерируя однонаправленно прогнозируемое изображение.

[0036] На фиг. 5 показана схема, которая иллюстрирует пример соотношения между векторами движения для прогнозирования с компенсацией движения в двунаправленном прогнозировании согласно первому варианту осуществления. В прогнозировании с компенсацией движения, процесс интерполяции осуществляется с использованием опорного изображения, и однонаправленно прогнозируемое изображение генерируется на основании отклонений движений сгенерированного интерполированного изображения и входного изображения от пиксельного блока, расположенного в позиции цели кодирования. Здесь, отклонение является вектором движения. Как показано на фиг. 5, в слайсе двунаправленного прогнозирования (B-слайсе), прогнозируемое изображение генерируется с использованием двух типов опорных изображений и набора векторов движения. В качестве процесса интерполяции, используется процесс интерполяции полупиксельной точности, процесс интерполяции четвертьпиксельной точности и т.п., и, путем осуществления процесса фильтрации для опорного изображения, генерируется значение интерполированного изображения. Например, в H.264, в котором интерполяция до четвертьпиксельной точности может осуществляться для яркостного сигнала, отклонение представляется как четырехкратная целочисленная пиксельная точность.

[0037] Блок 203 однонаправленной компенсации движения выводит однонаправленно прогнозируемое изображение и временно сохраняет однонаправленно прогнозируемое изображение в памяти 202. Здесь, в случае, когда информация движения (параметр прогнозирования) представляет двунаправленное прогнозирование, блок 201 многокадровой компенсации движения осуществляет взвешенное прогнозирование с использованием двух типов однонаправленно прогнозируемых изображений. Соответственно, блок 203 однонаправленной компенсации движения сохраняет однонаправленно прогнозируемое изображение, соответствующее первому типу в однонаправленно прогнозируемом изображении, в памяти 202 и непосредственно выводит однонаправленно прогнозируемое изображение, соответствующее второму типу, на блок 201 многокадровой компенсации движения. Здесь, однонаправленно прогнозируемое изображение, соответствующее первому типу, будем именовать первым прогнозируемым изображением, и однонаправленно прогнозируемое изображение, соответствующее второму типу, будем именовать вторым прогнозируемым изображением.

[0038] Кроме того, два блока 203 однонаправленной компенсации движения могут подготавливаться и генерировать два однонаправленно прогнозируемых изображения. В таком случае, когда информация движения (параметр прогнозирования) представляет однонаправленное прогнозирование, блок 203 однонаправленной компенсации движения может непосредственно выводить первое однонаправленно прогнозируемое изображение на блок 201 многокадровой компенсации движения в качестве первого прогнозируемого изображения.

[0039] Блок 201 многокадровой компенсации движения осуществляет взвешенное прогнозирование с использованием первого прогнозируемого изображения, поступающего из памяти 202, второго прогнозируемого изображения, поступающего от блока 203 однонаправленной компенсации движения, и информации параметра WP, поступающей от блока 109 оценивания движения, таким образом, генерируя прогнозируемое изображение. Блок 201 многокадровой компенсации движения выводит прогнозируемое изображение для ввода в блок 101 вычитания и блок 106 суммирования.

[0040] На фиг. 6 показана блок-схема, иллюстрирующая пример конфигурации блока 201 многокадровой компенсации движения согласно первому варианту осуществления. Как показано на фиг. 6, блок 201 многокадровой компенсации движения включает в себя: блок 301 стандартной компенсации движения; блок 302 взвешенной компенсации движения; блок 303 управления параметрами WP; и блоки 304 и 305 выбора WP.

[0041] Блок 303 управления параметрами WP выводит флаг применения WP и весовую информацию на основании информации параметра WP, поступающей от блока 109 оценивания движения, для ввода флага применения WP в блоки 304 и 305 выбора WP и ввода весовой информации в блок 302 взвешенной компенсации движения.

[0042] Здесь, информация параметра WP включает в себя первый флаг применения WP (описанная более подробно, информация флага первого флага применения WP), второй флаг применения WP (описанная более подробно, информация флага второго флага применения WP), и информацию весовой информации. Первый флаг применения WP и второй флаг применения WP являются параметрами, которые можно устанавливать для каждого опорного изображения и каждой компоненты сигнала и включают в себя информацию о том, производится ли стандартное прогнозирование с компенсацией движения или взвешенное прогнозирование с компенсацией движения для первого прогнозируемого изображения и второго прогнозируемого изображения. Здесь, в случае, когда первый флаг применения WP и второй флаг применения WP равны, соответственно, “0”, она представляет, что делаются стандартные прогнозы с компенсацией движения. С другой стороны, в случае, когда первый флаг применения WP и второй флаг применения WP равны, соответственно, “1”, она представляет, что делаются взвешенные прогнозы с компенсацией движения.

[0043] Весовая информация включает в себя информацию значения w0C первого весового коэффициента, значения w1C второго весового коэффициента, параметра LWD (здесь, он может именоваться “LWD точности фиксированной запятой”), представляющего точность фиксированной запятой первого и второго весовых коэффициентов, первого смещения o0C и второго смещения o1C. Здесь, переменная C представляет компоненту сигнала. Например, в случае пространственного сигнала YUV, яркостный сигнал представляется в виде C=Y, цветоразностный сигнал Cr представляется в виде C=Cr, и цветоразностная компонента Cb представляется в виде C=Cb.

[0044] Первый весовой коэффициент представляет собой весовой коэффициент, соответствующий первому прогнозируемому изображению, и является параметром, имеющим значение, определяемое (изменяемое) в соответствии с LWD точности фиксированной запятой. Второй весовой коэффициент представляет собой весовой коэффициент, соответствующий второму прогнозируемому изображению и является параметром, имеющим значение, определяемое (изменяемое) в соответствии с LWD точности фиксированной запятой. LWD точности фиксированной запятой является параметром, который управляет шириной интервала, соответствующей дробной точности второго весового коэффициента. Хотя можно использовать разные значения LWD точности фиксированной запятой в соответствии с яркостью и цветоразностью, здесь, для упрощения описания, точность фиксированной запятой будет описана без деления в явном виде для каждого цветового сигнала. Например, в случае, когда w0C равен 1,0 (1 в двоичной системе счисления), будучи представлен как действительное значение, и LWD равно 5, первый весовой коэффициент равен 32 (100000 в двоичной системе счисления). Кроме того, в случае, когда w1C равен 2,0 (10 в двоичной системе счисления), будучи представлен как действительное значение, и LWD равно 5, второй весовой коэффициент равен 64 (1000000 в двоичной системе счисления). Первое смещение o0C это смещение, соответствующее первому прогнозируемому изображению, и второе смещение o1C это смещение, соответствующее второму прогнозируемому изображению.

[0045] Кроме того, при вводе информации параметра WP, блок 303 управления параметрами WP проверяет, находится ли значение весовой информации в регулируемом диапазоне, и переустанавливает значение, которое находится вне диапазона, на значение в диапазоне или изменяет значение флага применения WP. Например, в случае, когда w0C равен 3,0, будучи представлен как действительное значение, и LWD равно 7, первый весовой коэффициент равен 384. Здесь предполагается, что 384 находится вне диапазона первого весового коэффициента и не может использоваться, и 96 находится в диапазоне первого весового коэффициента и может использоваться. В таком случае, блок 303 управления параметрами WP может переустанавливать первый весовой коэффициент так, чтобы он находился в диапазоне первого весового коэффициента, устанавливая LWD равным 5 и устанавливая первый весовой коэффициент равным 96, при том, что w0C поддерживается равным 3,0, будучи представлен как действительное значение. Кроме того, при этом, блок 303 управления параметрами WP может осуществлять процесс квантования. Например, в случае, когда LWD равно 7, и первый весовой коэффициент равен 385, блок 303 управления параметрами WP может переустанавливать первый весовой коэффициент на 96, устанавливая первый весовой коэффициент на 384 путем осуществления процесса квантования, и затем устанавливая LWD равным 5 и w0C равным 3,0, будучи представлен как действительное значение. Кроме того, блок 303 управления параметрами WP может изменять значение первого флага применения WP с 1 на 0, таким образом, взвешенное прогнозирование с компенсацией движения не используется. Хотя метод этим не ограничивается, блок 303 управления параметрами WP осуществляет управление таким образом, что значение весовой информации не выходит за пределы регулируемого диапазона, определенного на основании спецификаций и пр.

[0046] Блоки 304 и 305 выбора WP изменяют соединительные концы прогнозируемых изображений на основании флагов применения WP, поступающих от блока 303 управления параметрами WP. В случае, когда соответствующий флаг применения WP равен “0”, каждый из блоков 304 и 305 выбора WP соединяет его выходной конец с блоком 301 стандартной компенсации движения. Затем блоки 304 и 305 выбора WP выводят первое и второе прогнозируемые изображения для ввода в блок 301 стандартной компенсации движения. С другой стороны, в случае, когда соответствующий флаг применения WP равен “1”, каждый из блоков 304 и 305 выбора WP соединяет его выходной конец с блоком 302 взвешенной компенсации движения. Затем блоки 304 и 305 выбора WP выводят первое и второе прогнозируемые изображения для ввода в блок 302 взвешенной компенсации движения.

[0047] Блок 301 стандартной компенсации движения осуществляет обработку усреднения (стандартное прогнозирование с компенсацией движения) на основании двух однонаправлено прогнозируемых изображений (первого и второго прогнозируемых изображений), поступающих от блоков 304 и 305 выбора WP, таким образом, генерируя прогнозируемое изображение. В частности, в случае, когда первый и второй флаги применения WP равны “0”, блок 301 стандартной компенсации движения осуществляет обработку усреднения на основании численного выражения (1).

[0048] P[x, y]=Clip1((PL0[x, y]+PL1[x, y]+offset2)>>(shift2)) (1)

[0049] Здесь, P[x, y] - прогнозируемое изображение, PL0[x, y] - первое прогнозируемое изображение, и PL1[x, y] - второе прогнозируемое изображение. Кроме того, offset2 и shift2 являются параметрами процесса округления в обработке усреднения и определяются на основ