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

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к способу и устройству кодирования/декодирования видео с использованием матриц квантования.

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

Предлагается система для того, чтобы квантовать DCT-коэффициент посредством осуществления выделения бит каждую частотную позицию с использованием частотной характеристики DCT-коэффициентов, предоставляемых посредством подвергания видео ортогональному преобразованию, например, дискретному косинусному преобразованию (DCT) (W.H. Chen и C.H. Smith, "Adaptive Coding of Monochrome and Color Images", IEEE Trans. On Comm., том 25, номер 11, ноябрь 1977 года). Согласно этой традиционной системе множество битов выделяется низкоуровневой частотной области, чтобы получить информацию коэффициентов, тогда как немного битов выделяется верхней частотной области, посредством чего DCT-коэффициент квантуется по частоте. Тем не менее, эта традиционная система должна подготавливать таблицу выделения согласно приблизительности квантования. Следовательно, она не всегда является эффективной системой в отношении надежного квантования.

ITU-TT.81 и ISO/IEC10918-1 (далее упоминаемые как JPEG: Объединенная группа экспертов в области фотографии), созданные в ITU-T и ISO/IEC, квантуют одинаково коэффициенты преобразования по всему частотному диапазону с помощью одинаковой шкалы квантования. Тем не менее, человек является сравнительно нечувствительным в высокочастотной области согласно свойству зрительной системы человека. По этой причине предлагается следующая система. Т.е. в JPEG взвешивание выполняется каждую частотную область, чтобы изменить шкалу квантования, с тем, чтобы много битов выделялось низкочастотной области, визуально чувствительной, и скорость передачи битов понижалась в высокочастотной области, приводя к повышению субъективного качества изображения. Эта система выполняет квантование каждый блок квантования с преобразованием. Таблица, используемая для этого квантования, упоминается как матрица квантования.

Дополнительно в последние годы разработан способ кодирования видео, который существенно повышает эффективность кодирования в сравнении с традиционным способом, как ITU-TRec.H.264 и ISO/IEC14496-10 (упоминается как H.264) совместно ITU-T и ISO/IEC. Традиционные системы кодирования, такие как ISO/IECMPEG-1, 2, 4 и ITU-TH.261, H.263 квантуют DCT-коэффициенты после ортогонального преобразования, чтобы уменьшить число кодированных битов коэффициентов преобразования. В основном профиле H.264, поскольку взаимосвязь между параметром квантования и шкалой квантования разработана таким образом, что они становятся с равными интервалами на логарифмической шкале, матрица квантования не вводится. Тем не менее, на высоком уровне H.264 матрица квантования должна быть заново введена, чтобы повысить субъективное качество изображения для изображения высокой четкости (см. Jiuhuai Lu, "Proposal of quantization weighting for H.264/MPEG-4 AVC Professional Profiles", JVT of ISO/IEC MPEG & ITU-T VCEG, JVT-K029, март 2004 года).

На высоком уровне H.264 всего восемь видов различных матриц квантования может быть установлено в соответствии с двумя преобразованными/квантованными блоками (блок пикселов 4×4 и блок пикселов 8×8) для каждого режима кодирования (внутрикадровое прогнозирование или межкадровое прогнозирование) и для каждого сигнала (сигнала яркости или цветоразностного сигнала).

Поскольку матрица квантования используется для взвешивания пиксела согласно позиции каждого частотного компонента во время квантования, одна матрица квантования требуется также во время деквантования. В кодере верхнего уровня H.264 используемые матрицы квантования кодируются и мультиплексируются и затем передаются в декодер. Конкретно, разностное значение вычисляется в порядке зигзагообразного сканирования или сканирования поля из DC-компонента матрицы квантования, и полученные разностные данные подвергаются кодированию переменной длины и мультиплексируются как данные кода.

С другой стороны, декодер высокого уровня H.264 декодирует данные кода согласно логике, аналогичной логике кодера, чтобы восконструировать их как матрицу квантования, которая должна быть использована во время деквантования. Матрица квантования в завершение подвергается кодированию переменной длины. В этом случае число кодированных битов матрицы квантования требует 8 битов на минимуме и не менее 1500 битов на максимуме для синтаксиса.

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

Предложен способ корректировки значения матрицы квантования посредством передачи сначала базовой матрицы квантования, чтобы обновлять матрицу квантования с небольшим объемом служебной информации, и последующей передачи коэффициента k, указывающего степень изменения от матрицы квантования к декодеру (см. JP-A 2003-189308(KOKAI)).

JP-A 2003-189308(KOKAI) "Video encoding apparatus, encoding method, decoding apparatus and decoding method, and video code string transmitting method" направлена на то, чтобы обновлять матрицу квантования каждый тип изображения с помощью небольшого числа кодированных битов, и дает возможность обновлять базовую матрицу квантования при помощи примерно самое большее 8 битов. Тем не менее, поскольку эта система для отправки только степени изменения из базовой матрицы квантования, амплитуда матрицы квантования может быть изменена, но невозможно изменять ее характеристику. Дополнительно требуется передавать базовую матрицу квантования, и таким образом, число кодированных битов может значительно возрасти вследствие состояния кодирования.

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

Когда матрица квантования кодируется посредством способа, заранее заданного посредством высокого уровня H.264, и передается в декодер, число кодированных битов для кодирования матрицы квантования возрастает. Когда матрица квантования передается каждое изображение повторно, число кодированных битов для кодирования матрицы квантования дополнительно возрастает. Дополнительно, передается когда степень изменения матрицы квантования, степень свободы для изменения матрицы квантования в значительной степени ограничена. Проблема в том, что эти результаты делают трудным эффективно использовать матрицу квантования.

Аспект настоящего изобретения предоставляет способ кодирования видео, содержащий: формирование матрицы квантования с использованием функции, касающейся формирования матрицы квантования, и параметра, связанного с функцией; квантование коэффициента преобразования, касающегося сигнала входного изображения, с использованием матрицы квантования, чтобы сформировать квантованный коэффициент преобразования; и кодирование параметра и квантованного коэффициента преобразования, чтобы сформировать кодовый сигнал.

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

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

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

Фиг.3 - это блок-схема последовательности операций способа для устройства кодирования видео согласно первому варианту осуществления.

Фиг.4A - это схематичное представление порядка прогнозирования/формы блока, связанного с первым вариантом осуществления.

Фиг.4B - это схема, иллюстрирующая форму блока в 16×16 пикселов.

Фиг.4C - это схема, иллюстрирующая форму блока в 4×4 пиксела.

Фиг.4D - это схема, иллюстрирующая форму блока в 8×8 пикселов.

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

Фиг.5B - это схема, иллюстрирующая матрицу квантования, соответствующую блоку пикселов 8×8.

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

Фиг.6B - это схема для пояснения еще одного способа формирования матрицы квантования.

Фиг.6C - это схема для пояснения еще одного способа формирования матрицы квантования.

Фиг.7 - это схематичное представление структуры синтаксиса согласно первому варианту осуществления.

Фиг.8 - это схема структуры данных синтаксиса набора параметров последовательности согласно первому варианту осуществления.

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

Фиг.10 - это схема структуры данных синтаксиса набора параметров изображения согласно первому варианту осуществления.

Фиг.11 - это схема структуры данных вспомогательного интеллектуального синтаксиса согласно первому варианту осуществления.

Фиг.12 - это блок-схема последовательности операций способа многопутевого кодирования согласно второму варианту осуществления.

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

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

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

Фиг.16 - это схема, иллюстрирующая пример CurrSliceType.

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

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

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

Оптимальный режим осуществления изобретения

Далее подробно описываются варианты осуществления настоящего изобретения со ссылкой на чертежи.

(Первый вариант осуществления: кодирование)

Согласно первому варианту осуществления, показанному на фиг. 1, видеосигнал делится на множество блоков пикселов и вводится в устройство 100 кодирования видео в качестве сигнала 116 входного изображения. Устройство 100 кодирования видео имеет в качестве режимов, приводимых в исполнение модулем 101 прогнозирования, множество режимов прогнозирования, отличающихся по размеру блока или способу формирования прогнозирующего сигнала. В настоящем варианте осуществления предполагается, что кодирование выполняется с левой верхней части кадра до правой нижней ее части, как показано на фиг. 4A.

Сигнал 116 входного изображения, вводимый в устройство 100 кодирования видео, делится на множество блоков, каждый из которых содержит 16x16 пикселов, как показано на фиг. 4B. Часть сигнала 116 входного изображения вводится в модуль 101 прогнозирования и кодируется посредством кодера 111 посредством модуля 102 определения режима, преобразователя 103 и квантователя 104. Этот кодированный сигнал изображения сохраняется в выходном буфере 120 и затем выводится в качестве кодированных данных 115 с синхронизацией вывода, контролируемой посредством контроллера 110 кодирования.

Блок пикселов 16×16, показанный на фиг. 4B, упоминается как макроблок и имеет базовый размер блоков обработки для последующего процесса кодирования. Устройство 100 кодирования видео считывает сигнал 116 входного изображения в единицах блока и кодирует его. Макроблок может быть в единицах блока пикселов 32х32 или в единицах блока пикселов 8×8.

Модуль 101 прогнозирования формирует сигнал 118 прогнозирующего изображения с помощью всех режимов, выбираемых в макроблоке посредством использования кодированного опорного изображения, сохраненного в запоминающем устройстве 107 опорных изображений. Модуль 101 прогнозирования формирует все сигналы прогнозирующих изображений для всех режимов кодирования, в которых блок пикселов объекта может быть кодирован. Тем не менее, когда следующее прогнозирование не может быть выполнено без формирования локального декодированного изображения в макроблоке, аналогично внутрикадровому прогнозированию по H.264 (прогнозированию пикселов 4×4 (фиг. 4C) или прогнозированию пикселов 8×8 (фиг. 4D), модуль 101 прогнозирования может выполнять ортогональное преобразование и квантование, а также деквантование и обратное преобразование.

Сигнал 118 прогнозирующего изображения, сформированный в модуле 101 прогнозирования, не вводится в модуль 102 определения режима вместе с сигналом 116 входного изображения. Модуль 102 определения режима вводит сигнал 118 прогнозирующего изображения в обратный преобразователь 106, формирует сигнал 119 ошибки прогнозирования посредством вычитания сигнала 118 прогнозирующего изображения из сигнала 116 входного изображения, и вводит его в преобразователь 103. В то же время, модуль 102 определения режима определяет режим на основе информации режима, спрогнозированной с помощью модуля 101 прогнозирования и сигнала 119 ошибки прогнозирования. Поясняя конкретнее, режим определяется с использованием затрат K, показанных посредством следующего уравнения (1) в данном варианте осуществления:

K = SAD + λ OH, (1)

где OH указывает информацию режима, SAD - это абсолютная сумма сигналов ошибки прогнозирования, а λ - это константа. Константа λ определяется на основе значения ширины квантования или параметра квантования. Таким образом, режим определяется на основе затрат K. Режим, в котором затраты K указывают наименьшее значение, выбирается в качестве оптимального режима.

В данном варианте осуществления используется абсолютная сумма информации режима и сигнала ошибки прогнозирования.

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

Предварительный кодер подготавливается согласно другому варианту осуществления для вычисления затрат. Сигнал ошибки прогнозирования формируется на основе режима кодирования предварительного кодера. Сигнал ошибки прогнозирования фактически кодируется, чтобы сформировать данные кода. Данные 113 локального декодированного изображения создаются посредством локального декодирования данных кода. Режим может быть определен с использованием числа кодированных битов данных кода и квадратичной ошибки сигнала 113 локального декодированного изображения и входного видеосигнала 116. Уравнение определения режима этого случая выражается посредством следующего уравнения (2):

J = D + λ×R (2),

где J указывает затраты, D указывает искажение кодирования, представляющее квадратическую ошибку входного видеосигнала 116 и сигнала 113 локального декодированного изображения, а R представляет число кодированных битов, оцененных посредством временного кодирования. Когда эти затраты J используются, схемная шкала возрастает, поскольку временное кодирование и локальное кодирование (деквантование и обратное преобразование) требуются в каждом режиме кодирования. Тем не менее, точное число кодированных битов и искажение кодирования может быть использовано, и высокая эффективность кодирования может сохраняться. Затраты могут быть вычислены с использованием только числа кодированных битов или только искажения кодирования. Функция затрат может быть вычислена с использованием значения, аппроксимированного к этим параметрам.

Модуль 102 определения режима соединен с преобразователем 103 и обратным преобразователем 106. Информация режима, выбранная с помощью модуля 102 определения режима, и сигнал 118 ошибки прогнозирования вводятся в преобразователь 103. Преобразователь 103 преобразует входной сигнал 118 ошибки прогнозирования в коэффициенты преобразования и формирует данные коэффициентов преобразования. Сигнал 118 ошибки прогнозирования подвергается ортогональному преобразованию с использованием, например, ортогонального косинусного преобразования (DCT). В качестве модификации, коэффициент преобразования может быть сформирован с использованием такой методики, как вейвлет-преобразование или анализ независимых компонентов.

Коэффициент преобразования, предоставляемый из преобразователя 103, отравляется в квантователь 104 и посредством него квантуется. Параметр квантования, требуемый для квантования, задается для контроллера 110 кодирования. Квантователь 104 квантует коэффициент преобразования с использованием матрицы 114 квантования, введенной из формирователя 109 матриц квантования, и формирует квантованный коэффициент 112 преобразования.

Квантованный коэффициент 112 преобразования вводится в процессор 111 кодирования вместе с информацией по методам прогнозирования, такой как информация режима и параметр квантования. Процессор 111 кодирования подвергает квантованный коэффициент 112 преобразования вместе с введенной информацией режима кодированию по энтропии (кодированию Хаффмана или арифметическому кодированию). Данные 115 кода, предоставляемые посредством кодирования по энтропии из процессора 111 кодирования, выводится из видеокодера 100 в выходной буфер 120 и мультиплексируются. Мультиплексированные данные кода передаются из выходного буфера 120.

Когда матрица 114 квантования, которая должна быть использована для квантования, сформирована, информация команд, указывающая использование матрицы квантования, предоставляется в формирователь 108 параметров формирования посредством контроллера 110 кодирования. Формирователь 108 параметров формирования задает параметр 117 формирования матрицы квантования согласно информации команд и выводит его в формирователь 109 матриц квантования и процессор 111 кодирования.

Параметр 117 формирования матрицы квантования может быть задан посредством внешнего модуля задания параметров (не показан), контролируемого посредством контроллера 110 кодирования. Кроме того, он может быть обновлен в единицах блока кодированного изображения, в единицах серии последовательных макроблоков или в единицах изображения. Формирователь 108 параметров формирования содержит функцию для контролирования синхронизации задания параметра 117 формирования матрицы квантования.

Формирователь 109 матриц квантования формирует матрицу 114 квантования посредством способа, установленного для параметра 117 формирования матрицы квантования, и выводит ее в квантователь 104 и деквантователь 105. В то же время, параметр 117 формирования матрицы квантования, введенный в процессор 111 кодирования, подвергается кодированию по энтропии вместе с информацией режима и коэффициента 112 преобразования, которые введены из квантователя 104.

Деквантователь 105 деквантует коэффициент 112 преобразования, квантованный с помощью квантователя 104, согласно параметру квантования, заданному посредством контроллера 110 кодирования, и матрице 114 квантования, введенной из формирователя 109 матриц квантования. Деквантованный коэффициент преобразования отправляется в обратный преобразователь 106. Обратный преобразователь 106 подвергает деквантованный коэффициент преобразования обратному преобразованию (например, обратному дискретному косинусному преобразованию), чтобы декодировать сигнал ошибки прогнозирования.

Сигнал 116 ошибки прогнозирования, декодированный с помощью обратного преобразователя 106, прибавляется к сигналу 118 прогнозирующего изображения для режима определения, который предоставлен из модуля 102 определения режима. Суммированный сигнал из сигнала ошибки прогнозирования и сигнала 118 прогнозирующего изображения становится локальным декодированным сигналом 113 и вводится в опорное запоминающее устройство 107. Запоминающее устройство 107 опорных изображений сохраняет локальный декодированный сигнал 113 как восстанавливающее изображение. Изображение, сохраненное в запоминающем устройстве 107 опорных изображений, тем самым становится опорным изображением, на которое ссылаются, когда модуль 101 прогнозирования формирует сигнал прогнозирующего изображения.

Когда контур кодирования (процесс, который должен быть приведен в исполнение в порядке модуль 101 прогнозирования --> модуль 102 определения режима --> преобразователь 103 --> квантователь 104 --> деквантователь 105 --> обратный преобразователь 106 --> запоминающее устройство 107 опорных изображений на фиг. 1) приводится в исполнение для всех режимов, выбираемых для макроблока объектов, один контур завершается. Когда контур кодирования завершается для макроблока, сигнал 116 входного изображения следующего блока вводится и кодируется. Формирователь 108 матриц квантования должен формировать матрицу квантования каждый макроблок. Сформированная матрица квантования сохраняется до тех пор, пока параметр 117 формирования матрицы квантования, заданный посредством формирователя 108 параметров формирования, не будет обновлен.

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

Формирователь 109 матриц квантования, показанный на фиг. 2, формирует матрицу 114 квантования на основе параметра 117 формирования матрицы квантования. Матрица квантования - это матрица, показанная на фиг. 5A, или матрица, показанная на фиг. 5B. Матрица квантования подвергается взвешиванию посредством соответствующего весового коэффициента каждую частотную точку в случае квантования и деквантования. Фиг. 5A показывает матрицу квантования, соответствующую блоку пикселов 4×4, а фиг. 5B показывает матрицу квантования, соответствующую блоку пикселов 8×8. Формирователь 109 матриц квантования содержит модуль 201 расшифровки сформированных параметров, переключатель 202 и один или более формирователей 203 матриц. Блок 201 расшифровки сформированных параметров расшифровывает входной параметр 117 формирования матрицы квантования и выводит информацию переключения из переключателя 202 согласно каждому способу формирования матриц. Эта информация переключения задается посредством контроллера 210 формирования матриц квантования и изменяет выходной терминал переключателя 202.

Переключатель 202 переключается согласно информации переключения, предоставляемой посредством модуля 201 расшифровки сформированных параметров и заданной посредством контроллера 210 формирования матриц квантования. Например, когда тип формирования матрицы в параметре 117 формирования матриц квантования - это первый тип, переключатель 202 подключает выходной терминал блока 201 расшифровки сформированных параметров к формирователю 203 матриц. С другой стороны, когда тип формирования матрицы в параметре 117 формирования матриц квантования - это N-ный тип, переключатель 202 подключает выходной терминал блока 201 расшифровки сформированных параметров к N-му формирователю 203 матриц.

Когда тип формирования матриц в параметре 117 формирования матриц квантования - это M-тый тип (N<M), и M-тый формирователь 203 матриц не включен в формирователь 109 матриц квантования, переключатель 202 подключается к соответствующему формирователю матриц посредством способа, при котором выходной терминал модуля 201 расшифровки сформированных параметров определяется заранее. Например, когда параметр формирования матриц квантования типа, который не существует в формирователе 109 матриц квантования, вводится, переключатель 202 всегда подключает выходной терминал к первому формирователю матриц. Когда аналогичный тип формирования матриц известен, он может быть подключен к формирователю матриц типа ближайшего L-го к входному M-му. В любом случае, формирователь 109 матриц квантования подключает выходной терминал модуля 201 расшифровки сформированных параметров к одному из первого по N-ный формирователей 203 матриц согласно параметру 117 формирования матриц квантования посредством заранее определенного способа подключения.

Каждый формирователь 203 матриц формирует матрицу 114 квантования согласно информации соответствующего параметра формирования матриц квантования. Конкретно, информация 117 параметров формирования матриц квантования состоит из информации параметров типа формирования матриц (T), степени изменения (A) матрицы квантования, степени искажения (B) и элемента корректировки (C). Эти параметры отмечаются посредством разных названий, но могут быть использованы любым видом способов. Эти параметры задаются как набор параметров, выражаемый посредством следующего уравнения (3):

QMP = (T, A, B, C). (3)

QMP представляет информацию параметров формирования матриц квантования. Тип формирования матриц (T) указывает, что формирователь 203 матриц, соответствующий какому типу должен быть использован. С другой стороны, как использовать степень изменения (A), степень искажения (B) и член корректировки (C), может быть свободно задано для каждого типа формирования матриц. Первый тип формирования матриц поясняется со ссылкой на фиг. 6A.

Функция формирования матриц, когда тип формирования матриц равен 1, представляется посредством следующих уравнений (4) (5) и (6):

[Формула 1]

r = |x+y| (4)

Q4x4(x,y) = a·r+c (5)

Q8x8(x,y) = a/2·r+c (6)

Дополнительно примеры табличного преобразования степени изменения (A), степени искажения (B) и члена корректировки (C), используемого для первого типа матриц, показаны посредством следующих уравнений (7), (8) и (9):

a = 0,1·A (7)

B = 0 (8)

c = 16+C (9),

где степень изменения (A) представляет степень изменения, кода расстояние от DC-компонента до частотной позиции матрицы квантования предполагается равным r. Например, если степень изменения (A) является положительным значением, значение матрицы возрастает по мере того, как увеличивается расстояние r. В этом случае высокая полоса пропускания может быть задана при большом значении. В отличие от этого, если степень изменения (A) является отрицательным значением, значение матрицы возрастает с увеличением расстояния r. В этом случае шаг квантования может быть задан приблизительно при низкой полосе пропускания. В первом типе формирования матриц значение 0 всегда задается без использования степени искажения (B). С другой стороны, элемент корректировки (C) представляет сегмент прямой линии, выраженной посредством степени изменения (A). Поскольку первая функция формирования матриц может быть обработана только посредством операции умножения, сложения, вычитания и сдвига, это преимущественно в том, что затраты на аппаратные средства могут быть снижены.

Матрица квантования, сформированная на основе уравнений (7), (8) и (9), в случае QMP = (1, 40, 0, 0) выражается посредством следующего уравнения (10):

[Формула 2]

(10)

Поскольку точность переменной каждого из степени изменения (A), степени искажения (B) и элемента корректировки (C) влияет на масштаб аппаратных средств, важно подготовить таблицу, имеющую хорошую эффективность в определенном диапазоне. В уравнении (7), когда степень изменения (A), как предполагается, равна неотрицательному целому числу из 6 битов, можно получить градиент от 0 до 6,4. Тем не менее, отрицательное значение не может быть получено. Соответственно, можно получить диапазон от -6,3 до 6,4 битов посредством использования таблицы перевода с использованием 7 битов, как показано посредством следующего уравнения (11):

a=0,1×(A-63). (11)

Если предоставляется таблица перевода степени изменения (A), степени искажения (B) и элемента корректировки (C), соответствующих типу формирования матриц (T), и точность степени изменения (A), степени искажения (B) и элемента корректировки (C) запрашивается для каждого типа формирования матриц (T), можно задавать надлежащий параметр матриц квантования согласно состоянию кодирования и среде применения. В первом типе формирования матриц, выраженном посредством уравнений (4), (5) и (6), степень искажения (B) всегда становится равной 0. Следовательно, необязательно передавать параметр, соответствующий степени искажения (B). Посредством типа формирования матриц число параметров, которые должны быть использованы, может быть снижено. В этом случае неиспользуемые параметры не кодируются.

Далее показана функция формирования матриц квантования с использованием квадратичной функции в качестве второго типа формирования матриц. Схематичное представление этого типа формирования матриц показано на фиг. 6C.

[Формула 3]

(12)

(13)

Параметры (A), (B) и (C), связанные с функциями a, b и c, соответственно, представляют степень изменения, искажение и значение корректировки квадратичной функции. Эти функции применимы для того, чтобы значительно увеличивать значение по мере того, как расстояние возрастает. Когда матрица квантования в случае QMP = (2, 10, 1, 0) вычисляется с использованием, например, уравнений (4), (8) и (10), матрица квантования по следующему уравнению (14) может быть сформирована:

[Формула 4]

(14)

Дополнительно следующие уравнения (15) и (16) представляют примеры функций формирования матриц третьего типа формирования матриц:

[Формула 5]

(15)

(16)

Элемент искажения, показанный на фиг. 6B, добавляется в первый тип матриц. Амплитуда искажения (B) представляет модуль амплитуды синусоидальной функции. Когда b - это положительное значение, возникает эффект того, что прямая линия искривляется в нижней стороне. С другой стороны, когда b - это отрицательное значение, возникает эффект того, что прямая линия искривляется в верхней стороне. Необходимо изменить соответствующую фазу посредством блока пикселов 4x4 или блока пикселов 8x8. Различные искажения могут быть сформированы посредством изменения фазы. Когда матрица квантования в случае QMP = (3, 32, 7, -6) вычисляется с использованием, например, уравнений (4), (8) и (15), матрица квантования по следующему уравнению (17) может быть сформирована:

[Формула 6]

(17)

Хотя синусоидальная функция используется в этом варианте осуществления, могут быть использованы косинусоидная функция и другие функции, а фаза или период могут быть изменены. Амплитуда искажения (B) может использовать различные функции, такие как сигма-функция, гауссова функция, логарифмическая функция и N-мерная функция. Дополнительно, когда переменные степени изменения (A), включающие в себя амплитуду искажения (B) и элемент корректировки (C), являются целыми значением, таблица перевода может быть подготовлена заранее, чтобы избежать вычислительного процесса с высокой нагрузкой обработки, к примеру, синусоидальных функций.

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

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

Когда вычисление с точностью действительных чисел возможно, расстояние может быть рассчитано посредством следующего уравнения (18):

[Формула 7]

(18)

Дополнительно можно изменять значения в вертикальном и поперечном направлениях матрицы квантования посредством взвешивания их согласно расстоянию. При предоставлении большой важности, к примеру, вертикальному направлению функция расстояния, указанная посредством следующего уравнения (19), используется:

[Формула 8]

r=|2x + y|. (19)

Когда матрица квантования в случае QMP = (2, 1, 2, 8) сформирована посредством вышеуказанного уравнения, предоставляется матрица квантования, выраженная посредством следующего уравнения (20):

[Формула 9]

(20)

Матрицы 204 квантования, сформированные с помощью от первого до N-го формирователей 203 матриц, выводятся из формирователя 109 матриц квантования выборочно. Контроллер 210 формирования матриц квантования контролирует переключатель 202, чтобы переключать выходной терминал переключателя 202 согласно каждому типу формирования матриц, расшифрованному с помощью модуля 201 расшифровки параметров формирования. Дополнительно контроллер 210 формирования матриц квантования проверяет то, сформирована ли корректно матрица квантования, соответствующая параметру формирования матриц квантования.

Конфигурация устройства 100 кодирования видео и формирователя 109 матриц квантования согласно варианту осуществления поясняется выше. Пример того, чтобы осуществлять способ кодирования видео с помощью устройства 100 кодирования видео и формирователя 109 матриц квантования, описывается со ссылкой на блок-схему последовательности операций способа по фиг. 3.

Сначала сигнал изображения одного кадра считывается из внешнего запоминающего устройства (не показано) и вводится в устройство 100 кодирования видео в качестве сигнала 116 входного изображения (этап S001). Сигнал 116 входного изображения делится на макроблоки, каждый из которых состоит из пикселов 16x16. Параметр 117 формирования матриц квантования задается в устройстве 100 кодирования видео (S002). Т.е. контроллер 110 кодирования отправляет информацию, указывающую использовать матрицу квантования для текущего кадра, в формирователь 108 параметров. При приеме этой информации формирователь 108 параметров отправляет параметр формирования матриц квантования в формирователь 109 матриц квантования. Формирователь 109 матриц квантования формирует матрицу квантования согласно типу входного параметра формирования матриц квантования.

Когда сигнал 116 входного изображения вводится в устройство 100 кодирования видео, кодирование начинается в единицах блока (этап S003). Когда один макроблок сигнала 116 входного изображения вводится в модуль 101 прогнозирования, модуль 102 определения режима инициализирует индекс, указывающий режим кодирования и затраты (этап S004). Сигнал 118 прогнозирующего изображения одного режима прогнозирования, выбираемого в единицах блока, формируется посредством модуля 101 прогнозирования с использованием сигнала 116 входного изображения (этап S005). Разность между этим сигналом 118 прогнозирующего изображения и сигналом 116 входного изображения вычисляется, посредством чего формируется сигнал 119 ошибки прогнозирования. Затраты вычисляются из суммы абсолютных значений SAD этого сигнала 119 ошибки прогнозирования и числа кодированных битов OH режима прогнозирования (этап S006). В противном случае выполняется локальное декодирование для того, чтобы сформировать локальный декодированный сигнал 113, и затраты вычисляются из числа кодированных битов D сигнала ошибки, указывающих разностное значение между локальным кодированным сигналом 113 и сигналом 116 входного изображения, и числа кодированных битов R кодированного сигнала, полученного посредством временного кодирования сигнала входного изображения.

Модуль 102 определения режима определяет то, являются ли вычисленные затраты меньше наименьших затрат min_cost (этап S007). Когда они меньше (определение "ДА"), наименьшие затраты обновляются посредством вычисленных затрат, и режим кодирования, соо